Johdatus ohjelmointiin 1. välikoe 14.12.2006
HYV6SN
1. Tee C-kielinen ohjelma, joka laskee Body Mass Indexin (BMI). Ohjelmalle annetaan syötteeksi paino ja pituus ja se tulostaa BMI:n.
2
, h
BMI = m missä
m = massa (kg) h = pituus (m)
#include <stdio.h>
void main(void) {
float pituus,paino;
printf("Anna pituus (m) ja paino (kg)\n");
scanf("%f %f",&pituus,&paino);
printf("BMI = %.2f",paino/(pituus*pituus));
}
2. Tee ohjelma, joka kysyy tuotteen nimen, hinnan ja laatuluokan (A tai B).
Laatuluokan tuotteesta B ohjelma antaa alennusta 15%. Ohjelma tulostaa tuotteen nimen ja maksettavan hinnan. Jos laatuluokka on virheellinen, ohjelma antaa virheilmoituksen.
#include <stdio.h>
int main(void) {
char nimi[20];
float hinta;
char laatuluokka;
printf("Anna nimi hinta laatuluokka\n");
scanf("%s %f %c",&nimi,&hinta,&laatuluokka);
if (laatuluokka=='A') {
printf("Nimi ja hinta: %s %f\n",nimi,hinta);
}
else if (laatuluokka=='B') {
printf("Nimi ja hinta: %s %f\n",nimi,hinta*0.85);
} else {
printf("Laatuluokka virheellinen.\n");
} }
3. Tee ohjelma, joka tallentaa taulukkoon täydet kymmenet väliltä 1-10000 (10 20 30 40 … 9970 9980 9990 10 000). Ohjelma tulostaa taulukon sisällön kymmenen lukua rivillään. (Tehtävä 26)
#include <stdio.h>
void main(void) {
int taulukko[1000];
int i;
for (i=1;i<=1000;i++) {
taulukko[i-1]=i*10;
}
for (i=1;i<=1000;i++) {
printf("%5d ",taulukko[i-1]);
if (i%10==0) printf("\n");
} }
4. Tee ohjelma, joka lajittelee kolme käyttäjän syöttämää merkkijonoa aakkosjärjestykseen. (Lisäharjoitus 16)
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);
}