ΑΣΚΗΣΕΙΣ ΣΤΗ ΓΛΩΣΣΑ C
ΕΚΦΩΝΗΣΕΙΣ Κ ΥΠΟΔΕΙΓΜΑΤΙΚΕΣ ΛΥΣΕΙΣ
Να γραφεί πρόγραμμα C που να βρίσκει και να εμφανίζει όλους τους τριψήφιους αριθμούς από το 100 έως 999 που να έχουν την ιδιότητα το άθροισμα των ψηφίων τους να είναι μεγαλύτερο ή ίσο του δέκα.
#include
void main(void) {
int i,j,k,n ;
n=0;
for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if(i+j+k>=20)
printf("%d%d%d%c",i,j,k,(++n % 10)?' ':'\n');
}
Να γράψετε πρόγραμμα που να διαβάζει τη θερμοκρασία σε βαθμούς Φαρενάϊτ και να την εκτυπώνει σε βαθμούς Κελσίου. Ο τύπος μετατροπής είναι: C=5(f-32)/9 Όπου f οι βαθμοί σε κλίμακα Φαρενάιτ και C οι βαθμοί σε κλίμακα Κελσίου.
#include
#include
void main() {
float f,c;
clrscr();
printf("Thermokrasia (F): ");
scanf("%f",&f);
c=5*(f-32)/9;
printf("Thermokrasia (C): %6.2f\n", c);
}
Να γράψετε ένα πρόγραμμα σε γλώσσα C το οποίο να διαβάζει από την οθόνη μια σειρά χαρακτήρες να μετρά το πλήθος των αριθμητικών χαρακτήρων, των κενών και των αλφαβητικών χαρακτήρων και να εμφανίζει στην οθόνη τα αποτελέσματα.
#include #include
void main(void) {
char c;
int mn=0,mk=0,ma=0;
while((c=getche())!='\r') {
if(c>='0' && c<='9') /* Αν είναι αριθμητικό */ ++mn; if(c>='A' && c<='Z' || c>='a' && c<='z') /* Αν είναι αλφαβητικό */ ++ma; if(c==' ') ++mk; } printf("\nNumbers = %d\n",mn); printf("Spaces = %d\n",mk); printf("Alfabet = %d\n",ma); }
Να γραφεί function της C που να δέχεται ως παράμετρο έναν πίνακα ακεραίων Α με διαστάσεις 3x4 και τυπώνει στην οθόνη τα στοιχεία του σε μορφή πίνακα τριών γραμμών και τεσσάρων στηλών. #include
#define ROWS 3
#define COLS 4
void printarr(int a[][COLS]) {
int i,j;
for(i=0;i #include void main(int argc, char *argv[]) { long int k;
int e;
float t;
if(argc==3) {
k=atol(argv[1]);
e=atoi(argv[2]);
t=k*e/100.0;
printf("ΚΕΦΑΛΑΙΟ:%ld\n",k);
printf("ΕΠΙΤΟΚΙΟ:%d %%\n",e);
printf("ΤΟΚΟΣ:%.f\n",t);
} else
printf("Απαιτούνται 2 παράμετροι\n");
}
Να γραφεί fυnctίοn της C με όνομα max(n,m) που να επιστρέφει το μέγιστο από τους ακέραιους n και m. Να χρησιμοποιηθεί ο τελεστής ? για τον υπολογισμό του μεγίστου.
#include int max(int n, int m) { return((n>m)?n:m);
}
void main(void) {
int a,b;
printf("1ος Αριθμός : ");
scanf("%d",&a);
printf("2ος Αριθμός : ");
scanf("%d",&b);
printf("Μεγαλύτερος : %d\n",max(a,b));
}
Ένας καθηγητής του μαθήματος γλώσσα προγραμματισμού C κρατάει αρχείο με τους φοιτητές. Για κάθε φοιτητή χρησιμοποιεί το όνομα (15 χαρακτήρες), το επώνυμο (20 χαρακτήρες), το έτος (ακέραιος), το εξάμηνο (1 χαρακτήρας με τιμές Α ή 8) και τον βαθμό (ακέραιος).
α) Να ορισθεί η παραπάνω structure της C.
β) Να γραφεί πρόγραμμα της C που θα διαβάζει από αρχείο τα στοιχεία των φοιτητών και να τυπώνει το μέσο όρο βαθμολογίας για το Α' εξάμηνο του 1995. Κάθε γραμμή του αρχείου αντιστοιχεί σε έναν φοιτητή και τα στοιχεία χωρίζονται μεταξύ τους με ένα ακριβώς κενό. Το όνομα του αρχείου να περνά παραμετρικά στο πρόγραμμα (command-line argument).
#include
struct foitrec {
char onom[15];
char epwn[20];
int etos;
char exam;
int bathm;
};
void main(int argc, char *argv[]) {
FILE *fptr;
struct foitrec ftt;
float mo;
int count;
if(argc==2) {
if(fptr=fopen(argv[1],"r")) {
mo=0.0;
count=0;
while(fscanf(fptr,"%s %s %d %c %d",ftt.onom,ftt.epwn,&ftt.etos,&ftt.exam,&ftt.bathm)!=EOF)
if(ftt.exam=='A' && ftt.etos==1995) {
mo+=ftt.bathm;
++count;
}
mo/=count;
printf("Average=%f\n",mo);
} else
printf("Can't open file %s\n",argv[1]);
} else
printf("Syntax: programfile inputfile\n");
Να γραφεί πρόγραμμα C που να βρίσκει και να εμφανίζει όλους τους τριψήφιους αριθμούς από το 100 έως 999 που να έχουν την ιδιότητα το άθροισμα των ψηφίων τους να είναι μεγαλύτερο ή ίσο του δέκα.
#include
Να γραφεί function της C που να δέχεται ως παράμετρο έναν πίνακα ακεραίων Α με διαστάσεις 3x4 και τυπώνει στην οθόνη τα στοιχεία του σε μορφή πίνακα τριών γραμμών και τεσσάρων στηλών. #include
Ένας καθηγητής του μαθήματος γλώσσα προγραμματισμού C κρατάει αρχείο με τους φοιτητές. Για κάθε φοιτητή χρησιμοποιεί το όνομα (15 χαρακτήρες), το επώνυμο (20 χαρακτήρες), το έτος (ακέραιος), το εξάμηνο (1 χαρακτήρας με τιμές Α ή 8) και τον βαθμό (ακέραιος).
α) Να ορισθεί η παραπάνω structure της C.
β) Να γραφεί πρόγραμμα της C που θα διαβάζει από αρχείο τα στοιχεία των φοιτητών και να τυπώνει το μέσο όρο βαθμολογίας για το Α' εξάμηνο του 1995. Κάθε γραμμή του αρχείου αντιστοιχεί σε έναν φοιτητή και τα στοιχεία χωρίζονται μεταξύ τους με ένα ακριβώς κενό. Το όνομα του αρχείου να περνά παραμετρικά στο πρόγραμμα (command-line argument).
#include
struct foitrec {
char onom[15];
char epwn[20];
int etos;
char exam;
int bathm;
};
void main(int argc, char *argv[]) {
FILE *fptr;
struct foitrec ftt;
float mo;
int count;
if(argc==2) {
if(fptr=fopen(argv[1],"r")) {
mo=0.0;
count=0;
while(fscanf(fptr,"%s %s %d %c %d",ftt.onom,ftt.epwn,&ftt.etos,&ftt.exam,&ftt.bathm)!=EOF)
if(ftt.exam=='A' && ftt.etos==1995) {
mo+=ftt.bathm;
++count;
}
mo/=count;
printf("Average=%f\n",mo);
} else
printf("Can't open file %s\n",argv[1]);
} else
printf("Syntax: programfile inputfile\n");
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου