답 -1
Code: Select all
1 #include<stdio.h>
2 #include<string.h>
3
4 int main(void) {
5 char stu[10][10];
6 int point[10][5];
7 double stuavg[10];
8 double class_total[6];
9 double class_avg[6];
10 char col[6][10] = {"국어", "영어", "수학", "과학", "총점", "평균"};
11
12 char temp[10];
13
14 int i;
15 for(i=0; i<10; i++) {
16 printf("(list입력시 입력된 정보 나열)\n");
17 printf("이름 입력: ");
18 if(scanf("%s", temp) < 0) {
19 return printf("종료");
20 } else if( !strcmp(temp,"list") ) {
21 printf(" %6s %8s %8s %8s %8s %8s\n", col[0], col[1], col[2], col[3], col[4], col[5]);
22
23 for(int k=0; k<i; k++) {
24 printf("%6s %6d %6d %6d %6d %6d %6.2lf\n", stu[k], point[k][0], point[k][1], point[k][2], point[k][3], point[k][4], stuavg[k]);
25
26 }
27
28 for(int k=0; k<6; k++) class_total[k] = class_avg[k] = 0;
29
30 for(int k=0; k<5; k++) {
31 for(int j=0; j<i; j++)
32 class_total[k] += point[j][k];
33 class_avg[k] = class_total[k]/i;
34 }
35
36 for(int k=0; k<i; k++) class_total[5] += stuavg[k];
37 class_avg[5] = class_total[5]/i;
38
39 printf("%6s %6.2lf %6.2lf %6.2lf %6.2lf %6.2lf %6.2lf\n", col[4], class_total[0], class_total[1], class_total[2], class_total[3], class_total [4], class_total[5]);
40 printf("%6s %6.2lf %6.2lf %6.2lf %6.2lf %6.2lf %6.2lf\n", col[5], class_avg[0], class_avg[1], class_avg[2], class_avg[3], class_avg[4], class _avg[5]);
41
42 i--;
43 continue;
44 } else {
45 strcpy(stu[i], temp);
46 point[i][4] = 0;
47 for(int j=0; j<4; j++) {
48 printf("\n%s 점수 입력: ", col[j]);
49 if(scanf("%d", &point[i][j]) < 0) {i--; break;}
50 point[i][4] += point[i][j];
51 }
52 stuavg[i] = point[i][4]/4;
53 }
54 }
55 }
답 -2
Code: Select all
1 #include<stdio.h>
2
3 double cal_bmi(double cm, double kg) {
4 double v=(kg/cm/cm)*10000;
5 if(v>0) return v;
6 else -1;
7 }
8
9 char * print_bmi(double bmi) {
10 if (bmi<0) return "에러";
11 else if(bmi <18.5) return "저체중";
12 else if(bmi<23) return "정상";
13 else if(bmi<25) return "과체중";
14 else if(bmi<30) return "비만";
15 else return "고도비만";
16 }
17
18 void main(void) {
19 double cm, kg;
20 cm=kg=0;
21
22 double (*fptr_cal_bmi)(double, double) = cal_bmi;
23 char* (*fptr_print_bmi)(double) = print_bmi;
24
25 printf("\n키 입력: ");
26 scanf("%lf", &cm);
27 printf("\n체중 입력: ");
28 scanf("%lf", &kg);
29
30 printf("비만도: %s\n", fptr_print_bmi(fptr_cal_bmi(cm,kg)));
31 }