为了账号安全,请及时绑定邮箱和手机立即绑定

c语言编程题:用结构体数组,学生信息由学号、姓名,成绩组成,数据如下:201513135157 LI 90

c语言编程题:用结构体数组,学生信息由学号、姓名,成绩组成,数据如下:201513135157 LI 90

TJC 2016-01-02 17:22:51
使用结构体数组,将学生的数据按成绩从高到低排序显示到屏幕上 将学生中不及格学生的姓名显示出来 写一个函数,获取成绩低于平均分的学生记录并返回低于平均分的学生人数#include<stdio.h>#define N 3struct student{char sno[20];char name[20];int score[20];double avg;}s[N];void input(){int i,j;for(i=0;i<N;i++){printf("输入学号:");scanf("%s",s[i].sno);printf("输入姓名:");scanf("%s",s[i].name);printf("输入功课成绩:");scanf("%d",s[i].score);printf("\n");}}int sortl(int n){    int i,j;     double sum=0;        n=0;for(i=0;i<N;i++)//求平均分{sum=sum+s[i].score[i];     s[i].avg=sum/N;}   for(i=0;i<N;i++)//排序(依据平均分)if(s[i].avg<s[i+1].avg){struct student t;    t=s[i];s[i]=s[i+1];s[i+1]=t;}printf("不及格:\n");//找不合格for(i=0;i<N;i++)if(s[i].score[i]<60){    n=n+1;printf("%s\t",s[i].name);printf("\n");break;} return n;//返回不及格的人的个数}void output(){int i,j;printf("排序后(升序):\n");printf("学号\t        姓名\t      成绩组成     平均\n");for(i=0;i<N;i++){printf("%s\t%s\t%d\t",s[i].sno,s[i].name,s[i].score[i]);printf("%.2lf",s[i].avg);printf("\n");}}int main(){int m,k;input();k=sortl(m);output();printf("不及格人数%d\n",k);return 0;}我写的有好多问题,帮忙修改也行,最好能整理一下发代码
查看完整描述

1 回答

  • 1 回答
  • 2 关注
  • 15733 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信