#include <stdio.h>
#define N 10
int totalscore(int score[])
{
int i,sum;
sum=0;
for(i=0;i<10;i++)
{
sum+=score[i];
}
return sum;
}
int maxscore(int score[])
{
int i,maxscore;
maxscore=0;
for(i=0;i<9;i++)
{
if(score[i]>score[i+1])
{
maxscore=score[i];
}
}
return maxscore;
}
int averagescore(int score[])
{
int averagescore;
averagescore=0;
averagescore= totalscore(score)/10;
return averagescore;
}
int sortscore(int score[])
{
int i,j,temp;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j--)
{
if(score[j]<score[j+1])
{
temp=score[j+1];
score[j+1]=score[j];
score[j]=temp;
}
}
}
for(i=0;i<10;i++)
{
if(i!=9)
{
printf("%d, \n",score[i]);
}
else
{
printf("%d\n",score[i]);
}
}
return score[i];
}
int main()
{
int score[N]={67,98,75,63,82,79,81,91,66,84};
printf("考试成绩总分为:%d\n",totalscore(score));
printf("考试最高分为:%d\n",maxscore(score));
printf("考试平均分为:%d\n",averagescore(score));
printf("考试成绩降序排序之后:%d\n",sortscore(score));
return 0;
}
这样写有问题吗,为什么不显示啊
#include <stdio.h>
int sum(int score[])
{int i,a=0;
for(i=0;i<10;i++){
a+=score[i];
}
printf("班级考试总分是:%d\n",a);
return 0;
}
int max(int score[])
{int j,b;b=score[0];
for(j=0;j<10;j++){
if(score[j]>b){b=score[j];}
}
printf("班级考试最高分是:%d\n",b);
return 0;
}
int min(int score[])
{int k,c;c=score[0];
for(k=0;k<10;k++){
if(score[k]<c){c=score[k];}
}
printf("班级考试最低分是:%d\n",c);
return 0;
}
int avg(int score[])
{int m;double s,d;s=0.0;
for(m=0;m<10;m++){
s+=score[m];
}
d=s/10;
printf("班级考试平均分是:%lf\n",d);
return 0;
}
int say(int score[])
{int i,j,temp;
for(i=8;i>=0;i--)
{for(j=0;j<=i;j++)
{
if(score[j]<score[j+1])
{temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for(i=0;i<10;i++)
{if(i!=9){printf("%d,",score[i]);}
else {printf("%d",score[i]);}
}
return 0;
}
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
sum(score);
max(score);
min(score);
avg(score);
say(score);
return 0;
}
for(i=0;i<10;i++) { for(j=0;j<10-i;j++) { if(score[j]>score[j+1]) { temp=score[j+1]; score[j+1]=score[j]; score[j]=temp; } } }
冒泡写错了。。写了升序,自己举一反三改回降序吧,ps:最后遍历那里直接调用函数不更好吗
用c++试试