[語法] 語法錯誤找不出來
#include <stdio.h>
#include<stdlib.h>
struct date{
int yy;
int mm;
int dd;
};
struct student{
char name[15];
struct date birthday;
int eng;
int math;
int prog;
};
void printStudent(struct student s){
printf("%6s %6.2f\n",s.name,(float)((s.eng)+(s.math)+(s.prog))/3);
}
int main(){
int select;
int i;
int j;
int list[10];
int change;
char namechange;
printf("1. List average scroes.\n");
printf("2. List students born in January.\n");
printf("3. Sort students by programming score.\n");
printf("Enter any other number to exit.\n?");
scanf("%d", &select);
struct student sArray[10]= {
{"John" ,{71, 1,3},78 ,90 ,60},
{"Mary" ,{72, 5,13},80 ,66 ,74},
{"Neil" ,{73, 3,23},42 ,55 ,90},
{"Eric" ,{75, 1,14},88 ,99 ,75},
{"Norman",{78, 2,9}, 64 ,52 ,85},
{"Tom" ,{80, 10,28},60 ,55 ,61},
{"Jerry" ,{85, 11,3},94 ,87 ,88},
{"Linda" ,{77, 9,18},83 ,74 ,62},
{"Rita" ,{74, 6,30},71 ,62 ,50},
{"Angie" ,{72, 1,27},57 ,58 ,59}
};
while (1){
switch(select){
case 1:
for(i=0;i<=9;i++){
printStudent(sArray[i]);
}
printf("\n");
break;
case 2:
for(i=0;i<=9;i++){
if(sArray[i].birthday.mm==1)
printf("%6s
%6.2f\n",sArray[i].name,(float)((sArray[i].eng)+(sArray[i].math)+(sArray[i].prog))/3);
}
break;
case 3:
for(i=0;i<=9;i++){
for(j=0;j<=9-i;j++){
if(sArray[j].prog>sArray[j+1].prog){
change=sArray[j].prog;
namechange=sArray[j].name;
sArray[j].prog=sArray[j+1].prog;
sArray[j].name=sArray[j+1].name;
sArray[j+1].prog=change;
sArray[j+1].name=namechange;
}
}
}
break;
default :
return 0;
};
printf("1. List average scroes.\n");
printf("2. List students born in January.\n");
printf("3. Sort students by programming score.\n?");
printf("Enter any other number to exit.");
scanf("%d", &select);
}
system("PAUSE");
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.20.1
推
03/11 13:57, , 1F
03/11 13:57, 1F
→
03/11 16:10, , 2F
03/11 16:10, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
26
152