C语言,简单成绩管理系统 帮帮忙看看我哪里错了

cmyg2938 2020-07-10 08:14:55
#include<stdio.h>
#define N 100
float a[N]; float b[N]; int num;
float ave( float a[N], int num);
void rank(float a[N],float b[N],int num);
float find(float a[N], int num);

int main (void)
{
int i;
printf("一共几场考试?\n");
scanf("%d",&num);
printf("请依次输入成绩\n");
for(i=0; i<num; i++)
scanf("%d",&a[i]);

float e;
e=ave(a,num);
printf("平均分:%f\n",e);

printf("从大到小排序总分:\n");
void rank(float a[N],float b[N],int num);
for(i=0;i<num;i++)
printf("%f\n",b[i]);

int y;
printf("输入要查找的成绩:\n");
scanf("%f",&num);
y=find(a, num);
if (y<num)
printf("%d",y);
else printf("没有符合的成绩\n");
return 0;


}

float ave( float a[N], int num)
{
int i; float sum,aver;
for(i=0;i<num;i++)
sum+=a[i]; aver=sum/num;
return aver;
}

void rank(float a[N],float b[N],int num)
{
int i,j,k;
for(i=0;i<num;i++)
b[i]=a[i];

for(i=0;i<num-1;i++)
for(j=1;j<num-i;j++)
{if(b[j-1]>b[j])
k=b[j]; b[j]=b[j+1]; b[j+1]=k;}
}

float find(float a[N], int num)
{
int res=0; int i;
for(i=0; i<num; i++)
{if(a[i]==num)
{res=i; return res; } }
if (res==0)
res=num+1;
return res;

}
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chxchxkkk 2020-07-10
  • 打赏
  • 举报
回复
float ave( float a[N], int num) { int i; float sum,aver; for(i=0;i<num;i++) sum+=a[i]; aver=sum/num; return aver; } 这里sum要初始化,float sum = 0;
chxchxkkk 2020-07-10
  • 打赏
  • 举报
回复
报错信息是啥?

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧