#include <stdio.h> //计算考试总分 int total(int score[]) { int i; int total = 0; for(i=0;i<=9;i++) { total += score[i]; } return total; } //计算考试最高分数 int highest(int score[]) { int i; for(i=0;i<=9;i++) { if(score[i]>score[i+1]) //调换顺序 { int n = score[i]; score[i] = score[i+1]; score[i+1] = n; } } return score[9]; } //计算考试最低分数 int lowest(int score[]) { int i; for(i=0;i<=8;i++) { if(score[i]<score[i+1]) { int n = score[i]; score[i] = score[i+1]; score[i+1] = n; } } return score[0]; } //计算考试平均分数 int average(int score[]) { int n = total(score); int av = n/10; return av; } //考试分数降序排列 int down_ordinary(int score[]) { int i; int j; for(i=9;i>=1;i--) { for(j=1;j<=i;j++) { if(score[j]<score[j+1]) { int n = score[j]; score[j] = score[j+1]; score[j+1] = n; } } } printf("考试成绩降序排列为:"); for(i=1;i<=9;i++) { printf("%d ",score[i]); } return 0; } //主函数 int main() { int score[10]={67,98,75,63,82,79,81,91,66,84}; printf("考试总分为%d\n",total(score)); printf("考试最高分为%d\n",highest(score)); printf("考试最低分为%d\n",lowest(score)); printf("考试平均分为%d\n",average(score)); down_ordinary(score); return 0; }
输出结果
考试总分为786 考试最高分为98 考试最低分为75 考试平均分为78 考试成绩降序排列为:586547409 98 91 84 82 81 79 67 66
为什么多了一个586547409出来?还有 75,63两项不见了
#include <stdio.h>
//计算考试总分
int total(int score[])
{
int i;
int total = 0;
for(i=0;i<=9;i++)
{
total += score[i];
}
return total;
}
//计算考试最高分数
int highest(int score[])
{
int i;
for(i=0;i<=9;i++)
{
if(score[i]>score[i+1]) //调换顺序
{
int n;
n = score[i];
score[i] = score[i+1];
score[i+1] = n;
}
}
// printf("%d\n",score[9]);
return score[9];
}
//计算考试最低分数
int lowest(int score[])
{
int i;
for(i=0;i<=8;i++)
{
if(score[i]<score[i+1])
{
int n = score[i];
score[i] = score[i+1];
score[i+1] = n;
}
}
return score[0];
}
//计算考试平均分数
int average(int score[])
{
int n = total(score);
int av = n/10;
return av;
}
//考试分数降序排列
int down_ordinary(int score[])
{
int i;
int j;
for(i=9;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(score[j]<score[j+1])
{
int n;
n = score[j];
score[j] = score[j+1];
score[j+1] = n;
}
}
}
printf("考试分数降序排列:");
for(i=0;i<10;i++)
{
// printf("%d\n",score[0]);
printf("%d ",score[i]);
}
return 0;
}
//主函数
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
printf("考试总分为%d\n",total(score));
printf("考试最高分为%d\n",highest(score));
printf("考试最低分为%d\n",lowest(score));
printf("考试平均分为%d\n",average(score));
down_ordinary(score);
return 0;
}
给你改了下,在“考试分数降序排列”这下面的部分代码错误了,你再看看。
把62-68行代码改成:
for(i=9;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(score[j]<score[j+1])
{
n = score[j];
就可以了。