ΑΠΑΝΤΉΣΕΙΣ ΣΕ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ 1

Σχετικά έγγραφα
ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ i) Πρώτα θα πραγματοποιηθεί διαίρεση του z με το x και μετα θα αφαιρεθεί το αποτέλεσμα από τον y.

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ

Ασκήσεις & παραδείγματα για επανάληψη

Υπολογισμός - Εντολές Επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομημένος Προγραμματισμός

Η γλώσσα προγραμματισμού C

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Η γλώσσα προγραμματισμού C

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

Εισαγωγή στον Προγραμματισμό

Υπολογισμός - Εντολές Ελέγχου

Εισαγωγή στον Προγραμματισμό

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Λυμένα παραδείγματα με τις for, while, do-while

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δομημένος Προγραμματισμός (ΤΛ1006)

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Δομημένος Προγραμματισμός (ΤΛ1006)

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Εισαγωγή στον δομημένο προγραμματισμό

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΧΕΙΜΕΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Γλώσσα Προγραμματισμού C

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Μεθόδων Επίλυσης Προβλημάτων

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Τύποι Δεδομένων Είσοδος/Έξοδος

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Μεθόδων Επίλυσης Προβλημάτων

Η γλώσσα προγραμματισμού C

Γλώσσα Προγραμματισμού C

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός I (E)

Η Γλώσσα Προγραμματισμού C (Μέρος 2 - Οι Bασικές Εντολές της C) Οι Βασικοί Τελεστές της C

Η γλώσσα προγραμματισμού C

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΠΡΟΓΡΑΜΜΑΤΑ ΕΡΓΑΣΤΗΡΙΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

10. Εντολές επανάληψηςκαι οι εντολές

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Παραδείγματα. Γράψτε ένα πρόγραμμα που να τυπώνει τη μέση τιμή ενός συνόλου μη αρνητικών αριθμών

Προγραμματισμός I (Θ)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

C: Από τη Θεωρία στην Εφαρμογή

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Εισαγωγή στον Προγραμματισμό

Διάλεξη 5η: Εντολές Επανάληψης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Η/Υ (ΤΛ2007 )

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Δομημένος Προγραμματισμός (ΤΛ1006)

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Αρχές Προγραμματισμού

8. Συνθήκες ελέγχου, λογικοί τελεστές

Δομημένος Προγραμματισμός (ΤΛ1006)

Η γλώσσα προγραμματισμού C

Transcript:

ΑΠΑΝΤΉΣΕΙΣ ΣΕ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ 1 ΑΣΚΗΣΗ 2 int x, y, z, w, c; x=1; y=2; z=3; w=4; c=5; while (c<=100) //στηλοθέτες printf("%d\t %d\t %d\t %d\t %d\t\n", x, y, z, w, c); x+=5; y+=5; z+=5; w+=5; c+=5; ΑΣΚΗΣΗ 3 #define N 10 int i; float num, sum=0; for (i=0; i<n; i++) printf("give number: "); 1 ΕΠΙΣΗΜΑΝΣΗ: Οι απαντήσεις παρουσιάζουν (ενδεχομένως σε μερικά σημεία διορθωμένες) τις καλύτερες απαντήσεις φοιτητών σε θέματα αντίστοιχα παλαιοτέρων ετών ( κ. Μανωλίδη Δημητρίου (κυρίως) και μερικές του κ. Τσαπαρλή Πέτρου). H πρώτη άσκηση δεν απαντάται γιατί είναι απλή εκτέλεση έτοιμου κώδικα, και απάντηση με βάση ύλη μαθήματος.

scanf("%f", &num); sum=sum+num; sum=sum/n; if (sum>=5) printf("success"); else printf("failure"); ΑΣΚΗΣΗ 4 #define N 10 int x,y; int product; printf("give two integers: "); scanf("%d%d", &x, &y); product=x*y; if (product>0 && product<10) printf("the sum is %d\n", x+y); else if (product>100 && product <1000) printf("the subtraction is %d\n", x-y); else printf("wrong numbers"); ΑΣΚΗΣΗ 5 int x, y, xmax, countmax, count; countmax=0; count=1; printf("give value: "); scanf("%d", &x); while (x!=0) printf("give value:"); scanf("%d", &y);

if (y==0) if (count>countmax) xmax=x; countmax=count; break; else if (x==y) count++; else if (count>countmax) xmax=x; countmax=count; count=1; x=y; printf("the value %d appears %d times\n", xmax, countmax); ΑΣΚΗΣΗ 6 #include <math.h> double x; double fx; printf("δώσε x\n"); scanf("%lf", &x); fx=pow(x,5)-pow(x,3)+3*x; printf("η ζητούμενη συνάρτηση fx είναι η=%lf",fx); fx=exp(x)+4*log(x)-pow(x,2); printf("\nh ζητούμενη συνάρτηση fx είναι η=%lf",fx); ΑΣΚΗΣΗ 7 Το πρόγραμμα που εκτελεί τα ζητούμενα από την εκφώνηση βήματα είναι το ακόλουθο: double d; float f; printf("d= ");

scanf("%lf",&d); f = (float)d; printf("%.12lf %.12f\n",d,f); Αν εκτελέσουμε το παραπάνω πρόγραμμα βλέπουμε ότι κατά την μετατροπή από double σε float υπάρχει αναγκαστική απώλεια δεδομένων. Αυτό συμβαίνει οποτεδήποτε κάνουμε typecasting από έναν τύπο μεγάλης ακρίβειας σε έναν τύπο μικρότερης ακρίβειας. Αν όμως μας ενδιαφέρει ακρίβεια π.χ. τριών δεκαδικών ψηφίων τότε η απώλεια της παραπάνω πληροφορίας δεν μας προβληματίζει. Αν όμως μας ενδιαφέρει ακρίβεια π.χ. 10 δεκαδικών ψηφίων τότε η μετάβαση από double σε float δεν είναι σωστή κίνηση. ΑΣΚΗΣΗ 8 Ένα ενδεικτικό πρόγραμμα λύση στην άσκηση αυτή είναι το ακόλουθο: #include <math.h> float x1,x2,y1,y2,apo; printf("x1: "); scanf("%f",&x1); printf("y1: "); scanf("%f",&y1); printf("x2: "); scanf("%f",&x2); printf("y2: "); scanf("%f",&y2); apo = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); printf("%f\n",apo); Αρχικά διαβάζονται οι συντεταγμένες των δύο σημείων και έπειτα υπολογίζεται και τυπώνεται η απόστασή τους με χρήση της sqrt της math.h. Για να γίνει compilation με τον gcc πρέπει να χρησιμοποιηθεί και η παράμετρος lm για να δηλωθεί η χρήση

της math.h. Δηλαδή, αν το όνομα του αρχείου πηγαίου κώδικα είναι askisi5.c τότε πρέπει να γράψουμε στο Unix: ΑΣΚΗΣΗ 9 Ο κώδικας που μετατρέπει την θερμοκρασία είναι ο ακόλουθος: float f,c; printf("doste thermokrasia se far.: "); scanf("%f",&f); c = (5.0/9.0)*(f-32.0); printf("thermokrasia se celcius: %.4f\n",c); Αν αντί για (5.0/9.0) στην γραμμή 7 γράφαμε (5/9) το αποτέλεσμα θα ήταν πάντα μηδενικό γιατί το 5/9 είναι διαίρεση ακεραίων. ΑΣΚΗΣΗ 10 #include <math.h> int x,y; printf("give two numbers:"); scanf("%d%d", &x, &y); printf("the sum is %d\n", x+y); printf("the larger is %d. \n", (x>y)?x:y); printf("the logarithms are: %lf and %lf \n", log10(x), log10(y)); ΑΣΚΗΣΗ 11 #include <math.h> float a, b, c, D, x1, x2, x, z1, z2;

x2); printf("δώστε τους συντελεστές a, b και c: "); scanf("%f %f %f", &a, &b, &c); D=b*b-4*a*c; if(d>0) else if(d<0) x1=(-b+sqrt(d))/2*a; x2=(-b-sqrt(d))/2*a; printf("οι λύσεις της εξίσωσης είναι Χ1=%0.2f και X2=%0.2f\n", x1, x=(-b)/2*a; /*Πραγματικό μέρος*/ z1=sqrt(-d)/2*a; /*Φανταστικό μέρος*/ z2=-sqrt(-d)/2*a; printf("οι λύσεις της εξίσωσης είναι οι μιγαδικοί Z1=%0.2f+%0.2fi και Z2=%0.2f%0.2fi\n", x, z1, x, z2); else x=(-b)/2*a; printf("η εξίσωση έχει διπλή ρίζα τον αριθμό Χ=%0.2f\n", x); ΑΣΚΗΣΗ 12 #define in 2.54 #define euro 340.75 int choice; float value;

printf("σε τι θελετε να γίνει η μετατροπή; ίντσες (1) ή ευρώ (2)"); scanf("%d", &choice); printf("δώσε τιμή"); scanf("%f", &value); if (choice==1) printf("τα %f μέτρα είναι %f ιντσες", value, value*in); else printf("τα %f ευρω είναι %f δραχμές", value, value*euro); ΑΣΚΗΣΗ 13 int i, count=0; for (i=48; i<=126; i++) printf("%c (%d) \t", i, i); count++; if ((count % 10) ==0) printf("\n"); ΑΣΚΗΣΗ 14 2 int i, sum, num, flag; flag = sum = 0; num = 1; for(i = 4; i <= 4*num; i+=4) if(flag == 0) 2 Λύση απο το βιβλίο Δρ. Γ. Τσελίκης και Δρ. Ν. Τσελίκας C από τη θεωρία στην εφαρμογή (άλυτες ακσήσεις και ενδεικτικές λύσεις)

printf("enter number: "); scanf("%d", &num); if(num <= 0 num >= 10) num = 1; i = 0; continue; flag = 1; sum += i*i; printf("sum: %d\n", sum); ΑΣΚΗΣΗ 15 main () int prt, number; //ο d είναι ο ακέραιος do printf("δώσε θετικό πενταψήφιο αριθμό:"); scanf("%d",&number); while (number<10000 number>99999); /*έλεγχος για το αν είναι θτεικός ακέραιος και πενταψήφιος */ while (number!=0) ptr=ptr+number%10; prt=ptr*10; number=number/10; printf("το αποτέλεσμα είναι %d\n",ptr); // εκτυπώνει το αποτέλεσμα

ΑΣΚΗΣΗ 16 Σωστές είναι οι εντολές (1), (4) και (5) διότι : (2) y=a*x*x*(x+10) = a*x 3 +a*x 2 *10, διάφορο από ax 3 +10 (3) y= (a * x) * x * (x + 10)= a*x 3 +a*x 2 *10 διάφορο από ax 2 +10 (6) y = a * x * (x * x + 10)=a*x 3 +a*x*10 διάφορο από ax 3 +10 ΑΣΚΗΣΗ 17 int i,j; ΑΣΚΗΣΗ 18 for (i=1; i<=10; i++) int x, y, a, MKD; for (j=1; j<=10; j++) printf("%d\t", j*i); printf("\n"); printf("δώστε 2 θετικούς αριθμούς x και y: "); scanf("%d %d", &x, &y); while(x<0) printf("ο αριθμός x δεν πληρεί τις προϋποθέσεις, επαναλάβετε την διαδικασία για τον αριθμό x: "); while(y<0) scanf(" %d", &x); printf("ο αριθμός y δεν πληρεί τις προϋποθέσεις, επαναλάβετε την διαδικασία για τον αριθμό y : "); scanf(" %d", &y);

if(x<y) a=x; /*αντιμεταθεση τιμων*/ x=y; y=a; while(x%y!=0) a=x%y; x=y; y=a; MKD=y; printf("ο μέγιστος κοινός διαιρέτης των 2 αριθμών ειναι ο %d\n", MKD); ΑΣΚΗΣΗ 19 int current, i, next; int N; current=0; next=1; printf("give number: "); scanf("%d",&n); printf("the Fibonacci sequence is:\n"); if (N==1) printf("%d \n", current); else printf("%d %d ", current, next); for (i=3; i<=n; i++) int temp=next; next=current+next;

printf("%d ", next); current=temp; if (i%5==0) printf("\n"); if (i==20) break; ΑΣΚΗΣΗ 20 unsigned long amount = 100, deposit, withdraw; int choice, pin, k=0; while (pin!= 2014) printf("enter your pin : "); scanf("%d", &pin); if(pin!= 2014) printf("wrong! Please enter valid password\n"); //end while do printf("****welcome to ATM service****\n"); printf("1. Check Balance\n"); printf("2. Withdraw Cash\n"); printf("3. Deposit Cash\n"); printf("4. Quit\n\n"); printf("enter your choice : "); scanf("%d", &choice); switch (choice)

case 1: printf("\n Your Balance is : %lu\n", amount); break; case 2: printf("\n Enter the amount to withdraw : "); scanf("%lu", &withdraw); if(withdraw % 20!= 0) printf("\n Please enter the amount in multiples of 20"); else if (withdraw >amount ) printf("\n Insufficient Balance"); else amount = amount - withdraw; printf("\n\n Please collect cash"); printf("\n Your current balance is%lu",amount); break; case 3: printf("\n Enter the amount to deposit"); scanf("%lu", &deposit); amount = amount + deposit; printf("your balance is %lu", amount); break; case 4: printf("\n Thank you for using ATM"); k=1; break; default: printf("\n Invalid choice");

while(!k); printf("\n\n Thank you! Please take your card.\n"); //end main ΑΣΚΗΣΗ 21 int code, sec, sms, pagio; float sum, fpa; pagio = 12; printf("δώστε τον τετραψήφιο κωδικό του πελάτη: "); scanf("%d", &code); printf("δώστε το χρόνο ομιλίας του πελάτη σε δευτερόλεπτα: "); scanf("%d", &sec); printf("δώστε τα SMS του πελάτη: "); scanf("%d", &sms); sum = pagio + 0.02 * sec + 0.14 * sms; fpa = 23 * sum / 100; sum = sum + fpa; printf("tmob account\n \b--------------------------------------------------------------- ---------\n \bcustomer code\t time\t SMS\t FPA\t \ttotal\n"); printf("%d\t\t %d\t %d\t %.2f\t \t%.2f\n", code, sec, sms, fpa, sum); printf(" \n"); ΑΣΚΗΣΗ 22 #include <math.h>

int n, i, Sf3, Sfi, Sw3, Swi, Sd3, Sdi ; /* Το S3 ειναι για το αθροισμα των κυβων των αριθμων και το Si για το αθροισμα των αριθμων που υψωνονται στον εαυτο τους ενώ το γράμμα στη μέση κάθε μεταβλητής δηλώνει τον βρόχο στον οποίο υπολογίστηκε*/ printf("δώστε τον αριθμό των N πρώτων όρων: "); scanf("%d", &n); while(n<=0) printf("ο αριθμός Ν που δώσατε πρέπει να είναι θετικός, δώστε έναν νέο αριθμό: "); scanf("%d", &n); for(i=1; i<=n; ++i) i=1; while(i<=n) i=1; do Sf3 = Sf3 + pow(i,3); Sfi = Sfi + pow(i,i); Sw3 = Sw3 + pow(i,3); Swi = Swi + pow(i,i); ++i; Sd3 = Sd3 + pow(i,3); Sdi = Sdi + pow(i,i); ++i; while(i<=n); printf("το άθροισμα των κύβων είναι: for: %d, while: %d, do: %d\n", Sf3, Sw3, Sd3); printf("το άθροισμα των αριθμών που υψώνονται στον εαυτό τους ειναι: for: %d, while: %d, do: %d\n", Sfi, Swi, Sdi);

ΑΣΚΗΣΗ 23 int a, b, c, d, max, choice, temp; printf("enter numbers: "); scanf("%d%d%d%d", &a, &b, &c, &d); max = a+b; choice = 1; temp = a+c; if(temp > max) max = temp; choice = 2; temp = a+d; if(temp > max) max = temp; choice = 3; temp = b+c; if(temp > max) max = temp; choice = 4; temp = b+d; if(temp > max)

max = temp; choice = 5; temp = c+d; if(temp > max) max = temp; choice = 6; if(choice == 1) printf("the biggest pair is %d+%d=%d\n", a, b, max); else if(choice == 2) printf("the biggest pair is %d+%d=%d\n", a, c, max); else if(choice == 3) printf("the biggest pair is %d+%d=%d\n", a, d, max); else if(choice == 4) printf("the biggest pair is %d+%d=%d\n", b, c, max); else if(choice == 5) printf("the biggest pair is %d+%d=%d\n", b, d, max); else printf("the biggest pair is %d+%d=%d\n", c, d, max); _

ΑΣΚΗΣΗ 24 3 int num, div, rem; printf("enter a number: "); scanf("%d", &num); // Ανάγνωση αριθμού div = num/10; rem = num%10; printf("%d\n", div*1000+div*100+rem*10+rem); 3 Λύση απο το βιβλίο Δρ. Γ. Τσελίκης και Δρ. Ν. Τσελίκας C από τη θεωρία στην εφαρμογή (άλυτες ακσήσεις και ενδεικτικές λύσεις)