某班有5名学生,建立一个学生的数学,英语信息表,包括学号,姓名,数学成绩和英语成绩,编写一个程序计算平均成绩和名次(用c语言编写)

1个回答
展开全部
摘要 亲亲,编写一个程序计算平均成绩和名次内容如下:#includestruct data。{ long numb;char name[20];float score[3];float average;int rank;}p[5];void inputscore(struct data *p) ;void ave(struct data *p,float average[20]);void outputscore(struct data *p);int main()哦
咨询记录 · 回答于2022-12-26
某班有5名学生,建立一个学生的数学,英语信息表,包括学号,姓名,数学成绩和英语成绩,编写一个程序计算平均成绩和名次(用c语言编写)
这是要求
亲亲,编写一个程序计算平均成绩和名次内容如下:#includestruct data。{ long numb;char name[20];float score[3];float average;int rank;}p[5];void inputscore(struct data *p) ;void ave(struct data *p,float average[20]);void outputscore(struct data *p);int main()哦
没了?
亲亲,编写一个程序计算平均成绩和名次内容还有:float average[20];struct data p[5];inputscore(p); ave(p,average); outputscore(p);return 0;void inputscore(struct data *p) nt i,j;for(i=0;i<5;i++) {scanf("%ld",&(*(p+i)).numb);scanf("%s",(*(p+i)).name);for(j=0;j<3;j++)scanf("%f",&(*(p+i)).score[j]);}void ave(struct data *p,float average[20]){ float sum=0;哦
亲亲,还有哦
看看
亲亲, int i,j;float temp;for(i=0;i<5;i++) { for(j=0;j<3;j++)sum+=(*(p+i)).score[j];(*(p+i)).average=sum/3.0;average[i]=sum/3; sum=0;}哦
亲亲,for(i=0;i<5;i++){ for(j=i+1;javerage[i]) {temp=average[i] ;average[i]=average[j];average[j]=temp;}} for(i=0;i<5;i++) {for(j=0;j<5;j++) {if((*(p+i)).average==average[j]) (*(p+i)).rank=j+1; }} 哦
亲亲, void outputscore(struct data *p){int i,j; printf("Number: Name:score: Average:rank:\n"); for(i=0;i<5;i++){ printf("%-9ld%-10s",(*(p+i)).numb,(*(p+i)).name); for(j=0;j<2;j++)printf("%-5.1f",(*(p+i)).score[j]);printf("%-8.1f",(*(p+i)).score[j]);printf("%-10.1f%-d\n",(*(p+i)).average,(*(p+i)).rank); } }哦
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消