tanszek:oktatas:szamitastechnika:elagazasok_ciklusok
Table of Contents
1. feladat
Háromszögosztályozó program készítése, egymásba tokozott if-else szerkezetek:
#include <stdio.h> main() { unsigned int a,b,c; printf("Háromszogtipus meghatarozasa\n\n"); printf("Adja meg az oldalakat csokkeno sorrendben ! \n"); printf("A= "); scanf("%u",&a); printf("B= "); scanf("%u",&b); printf("C= "); scanf("%u",&c); if (a < b + c) { if (b * b + c * c == a * a) { if (b == c) { printf("egyenlőszárú derékszögű "); } else { printf("derékszögű "); } } else if (a == c && c == b) { printf("egyenlő oldalú (szabályos) "); } else if (a == b || b == c) { printf("egyenlőszárú "); } else { printf("általános "); } } else { printf("nem alkotnak háromszöget "); } } /* Megj: egyenlő szárú derékszögű csak valós oldalhosszal teljesül.*/
2. feladat
A switch ráugrat a címkére és onnan fut tovább.
#include <stdio.h> main() { int i ; printf("Hány szót írjak ki? (max.3)="); scanf("%d", &i); switch ( i ) { case 3: printf("\nAlma"); case 2: printf("\nKörte"); case 1: printf("\nBarack"); } }
3. feladat
#include <stdio.h> int main() { char operator; float firstNumber, secondNumber; printf("Kerem az muveletet (+, -, *, /): "); scanf("%c", &operator); printf("Irjon be ket szamot: "); scanf("%f %f", &firstNumber, &secondNumber); switch(operator) { case '+': printf("%f + %f = %f", firstNumber, secondNumber, firstNumber + secondNumber); break; case '-': printf("%f - %f = %f",firstNumber, secondNumber, firstNumber - secondNumber); break; case '*': printf("%f * %f = %f",firstNumber, secondNumber, firstNumber * secondNumber); break; case '/': printf("%f / %f = %f",firstNumber, secondNumber, firstNumber/secondNumber); break; default: printf("Hiba! Nincs ilyen muvelet"); } }
4. feladat
A while ciklusszervező utasítás elöl tesztel:
#include <conio.h> /* getch miatt */ #include <stdio.h> /* printf, scanf miatt */ main() { float adat, szumma = 0; while ( printf("\nVan adat? (I/N):") , getch() == 'I' ) { printf("\nAdat="); scanf("%f", &adat); szumma += adat; } printf("\nAz összeg= %f",szumma); }
5. feladat
A do while ciklusszervező utasítás hátul tesztel:
#include <stdio.h> #include <time.h> main() { int szam, tipp, n = 0; srand(time(NULL)); szam = rand() % 10; szam++; printf("Gondoltam egy szamot 1-10 között \n %d", szam); do { printf("\nA tippje= "); scanf("%d",&tipp); n++; } while ( tipp != szam ); printf("%d lepesben kitalalta!", n); }
6. feladat
Egyszerű példa a for utasításra: számok átlagának meghatározása
#include <conio.h> /* clrscr() miatt */ #include <stdio.h> main() { unsigned int szumma, k, n ; printf("Az elso hany szam atlagat szamitsam? n= "); scanf("%u",&n); for ( szumma = 0, k = 1 ; k <= n ; k++) { szumma += k; } printf("Az első %u szám átlaga= %u", n, szumma); }
tanszek/oktatas/szamitastechnika/elagazasok_ciklusok.txt · Last modified: 2022/09/05 21:48 by knehez