/*編寫(xiě)程序,定義用于存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組,輸入學(xué)生的準(zhǔn)考證號(hào)、姓名和成績(jī)信息,成績(jī)包括三個(gè)信息:語(yǔ)文、數(shù)學(xué)、英語(yǔ),并且用double類型進(jìn)行成績(jī)的儲(chǔ)存。計(jì)算每位學(xué)生的總分,并按總分由高到低輸出學(xué)生信息表。*/#include<stdio.h>#define N 2//inStruct();輸入模塊??? struct ?{??char num[11];??char name[12];??double score[3];???}stu[N];void main( ){?int i,j,maxi;?double sum,max;? for(i=0;i<N;i++)? {? printf("準(zhǔn)考證號(hào)\n");? scanf("%s",stu[i].num);? printf("名字\n");???? scanf("%s",stu[i].name);? ? for(j=0;j<3;j++)? {?? printf("成績(jī)%d:\n",j+1);?? scanf("%f",&stu[i].score[j]);? }? }? //求和模塊 排序? max=0;? maxi=0;? for(i=0;i<N;i++)? {?? sum=0;? for(j=0;j<3;j++)? sum=stu[i].score[j]+sum;? if(sum>max)? {?? max=sum;?? maxi=i;? }? }? //輸出模塊? printf("NUM???? NAME??? Chinese?? math??? ENGLISH??????? SUM\n");? printf("_______________________________________________________________________\n");? for(i=0;i<N;i++)? {?? printf("\n%-5s%-10s",stu[i].num,stu[i].name);????? for(j=0;j<3;j++)?? printf("%-10.2f",stu[i].score[j]);?? printf("%-9.2f",sum);? } }
1 回答

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
double數(shù)據(jù)類型,輸入輸出格式是%lf
話說(shuō)你這個(gè)輸出的總分有問(wèn)題,最后你輸出的總分信息一定是一樣的,可以在結(jié)構(gòu)體里面加上sum變量。
- 1 回答
- 0 關(guān)注
- 1137 瀏覽
添加回答
舉報(bào)
0/150
提交
取消