/* atk 1 - harjoitus 4 tehtävä 2 */ #include main() { /* i:hin sijoitetaan kayttajalta luettu luku, lkm muuttujaa suurennetaan yhdella aina kun luettu luku oli suurempi kuin 5; se siis laskee viitta suurenpien lukumaaraa! Alustetaan lkm luonnollisesti nollaksi. */ int i, lkm = 0; printf("Anna lukuja, lasken viitta suurenmpien lukumaaran.\n" "Negatiivinen luku lopettaa\n"); printf("Nyt lasketaan do-while lauseella:\n"); /* do lause on sopivin tahan esimerkkiin. Alla on listattu myos toteutus kayttaen muita toistolauseita. */ do { printf("Viitta suurenpia %d. Luku: ", lkm); scanf("%d", &i); /* jos luettu luku on suurempi kuin viisi, suurennetaan lkm:aa */ if (i > 5) lkm++; } while (i > 0); /* ************************************************************************** */ /* ylimääräiset esimerkki ratkaisut muilla toisto rakenteilla */ /* sama while lauseella: ei kovin paljon hankalampi kuin do lause, ainoastaan tarvitsemme yhden scanf lauseen lisaa. */ printf("Kokeillaan whilella:\n"); lkm = 0; printf("Anna luku: "); scanf("%d", &i); while (i > 0) { if (i > 5) lkm++; printf("Viitta suurenpia %d. Luku: ", lkm); scanf("%d", &i); } /* for lause ei sovi tahan ongelmaan kovin hyvin, mutta on silti ihan kayttokelpoinen */ printf("Ja for lauseella sama:\n"); lkm = 0; printf("Anna luku: "); for (scanf("%d", &i); i > 0; scanf("%d", &i)) { if (i > 5) lkm++; printf("Viitta suurenpia %d. Luku: ", lkm); } }