慕码人4222159
2020-11-06 08:50
#include <stdio.h>
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
int sum=0,i,max,min,tamp;
float ave;
for(i=0;i<10;i++)
{
sum=sum+score[i];
}
for (i=0;i<10;i++)
{
if(score[i]<score[i+1])
{
tamp=score[i+1];
score[i+1]=score[i];
score[i]=tamp;
}
}
ave = (float)sum/10;
max=score[0];
min=score[9];
printf("总分为:%d\n",sum);
printf("最高分为:%d\n",max);
printf("最低分为:%d\n",min);
printf("平均分为:%f\n",ave);
for (i=0;i<10;i++)
{
printf("score[%d]:%d\n",i,score[i]);
}
return 0;
}
你没有用冒泡排序,可以参考
#include <stdio.h>int a(){ int score[10]={67,98,75,63,82,79,81,91,66,84}; int i, sum=0; for(i=0;i<=9;i++) { sum+=score[i]; } printf("总分为\t\t%d\n\n",sum); printf("平均分为\t%d\n\n",sum/10); return 0; } int b(){ int score[10]={67,98,75,63,82,79,81,91,66,84}; int i,max=0,min=100; for(i=0;i<9;i++) { if(max<score[i]) { max= score[i]; } if(min>score[i]) { min=score[i]; } } printf("最大值为\t%d\n\n",max); printf("最小值为\t%d\n\n",min); return 0; } int c() { int score[10]={67,98,75,63,82,79,81,91,66,84}; int i,j,k=0; for(j=0;j<9;j++) { for(i=0;i<9-j;i++) if(score[i]>score[i+1]) { k=score[i]; score[i]=score[i+1]; score[i+1]=k; } } printf("排序为\t\t") ; for(i=0;i<10;i++) { printf("%d\t",score[i]); } }int main(){ a(); b(); c();}
看一下前面的冒泡排序,排序的时候要嵌套两层,一层是计算排序次数,一层是比较大小。
C语言入门
926025 学习 · 20793 问题
相似问题