Johdatus ohjelmointiin 1. välikoe 27.11.2008
HYV8SN
1. Tee palkanlaskentaohjelma. Ohjelma kysyy tuntipalkan, työtunnit ja veroprosentin. Ohjelma tulostaa brutto- ja nettopalkan.
#include <stdio.h>
int main(void) {
float tuntipalkka, tyotunnit, veroprosentti;
float brutto,netto;
printf("Anna tuntipalkka, tyotunnit ja veroprosentti ");
scanf("%f %f %f",&tuntipalkka,&tyotunnit,&veroprosentti);
brutto=tuntipalkka*tyotunnit;
netto=brutto*(100-veroprosentti)/100;
printf("Bruttopalkka on %f\n”,brutto);
printf("Nettopalkka on %f\n", netto);
return 0;
}
2. Tee ohjelma, joka kysyy opiskelijan etu- ja sukunimen ja arvosanan numerona. Ohjelma tulostaa opiskelijan kokonimen ja arvosanan tekstimuotoisena (5=kiitettävä, 4=hyvä, 3=hyvä, 2=tyydyttävä,
1=tyydyttävä,0=hylätty). Jos käyttäjä syöttää jonkin muun arvon ilmoita siitä käyttäjälle!
#include <stdio.h>
int main(void) {
char etunimi[20];
char sukunimi[40];
int arvosana;
printf("Etunimi ?:\n");
gets(etunimi);
printf("Sukunimi ?:\n");
gets(sukunimi);
printf("Arvosana ?\n");
scanf("%d",&arvosana);
printf("Opiskelijan %s %s arvosana on ",etunimi,sukunimi);
if (arvosana==5)
printf("kiitettävä.\n");
else if (arvosana==4 || arvosana==3) printf("hyvä. \n");
else if (arvosana==2 || arvosana==1) printf("tyydyttävä \n");
else if (arvosana==0) printf("hylätty\n");
else {
printf("???\n");
printf("Anna arvosana oikein.\n");
}
return 0;
}
3.
Tee ohjelma, joka kysyy taulukkoon 100 kokonaislukua ja hakee niistä suurimman ja pienimmän.
#include <stdio.h>
const int N=10;
int main(void) {
int i,luvut[N];
int suurin,pienin;
for (i=0;i<N;i++) {
printf("Luku ?");
scanf("%d",&luvut[i]);
}
suurin=pienin=luvut[0];
for (i=0;i<N;i++) {
if (luvut[i]>suurin) suurin=luvut[i];
if (luvut[i]<pienin) pienin=luvut[i];
}
printf("Suurin %d ja pienin %d",suurin,pienin);
return 0;
}
4. Tee ohjelma, joka lajittelee kolme käyttäjän syöttämää merkkijonoa aakkosjärjestykseen.
int main(void) {
char a[20];
char b[20];
char c[20];
char apu[20];
printf("Syötä kolme merkkijonoa\n");
scanf("%s %s %s",&a,&b,&c);
printf("Ennen lajittelua: %s %s %s\n",a,b,c);
if (strcmp(a,b)>0) {
strcpy(apu,a);
strcpy(a,b);
strcpy(b,apu);
}
if (strcmp(a,c)>0) {
strcpy(apu,a);
strcpy(a,c);
strcpy(c,apu);
}
if (strcmp(b,c)>0) {
strcpy(apu,b);
strcpy(b,c);
strcpy(c,apu);
}
printf("Vaihdon jälkeen: %s %s %s\n",a,b,c);
}