慕沐4177655
2018-11-13 11:54
#include <stdio.h>
/*总分*/
int zongfen(int arr[10])
{int sum=0;
int i;
for(i=0;i<10;i++)
{
sum +=arr[i] ;
}
return sum;
}
/*最高分数*/
int max(int arr[10])
{ int maxx=0;
int i;
for(i=0;i<10;i++)
{
if(arr[i]>maxx)
maxx=arr[i];
}
return maxx;
}
/*最低分数*/
int smlls(int arr[10])
{ int smll=arr[0];
int i;
for(i=0;i<10;i++)
{
if(arr[i]<smll)
smll=arr[i];
}
return smll;
}
/*平均分数*/
float pjf(int arr[10])
{
float sum=0;
int i;
for(i=0;i<10;i++)
{
sum +=arr[i] ;
}
return sum/i;
}
/*从高到低排列*/
int smllmax(int arr[10])
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
if(arr[j]<arr[j+1])
{
int dat=0;
dat=arr[j];
arr[j]=arr[j+1];
arr[j+1]=dat;
}
}
printf("从高到低:");
for(i=0;i<10;i++)
{
printf(" %d",arr[i]);
}
return 0;
}
int main()
{
int score[]={67,98,75,63,82,79,23,91,66,84};
printf("这次总分:%d\n",zongfen(score));
printf("最高分是:%d\n",max(score));
printf("最少分是:%d\n",smlls(score));
printf("平均分是:%.2f\n",pjf(score));
smllmax(score);
return 0;
}
你在排序那里错了,你要把所有数全部排一遍,而不是只排i位以前的数,这题有两种改法
第一种改if:if(arr[j]<arr[i])
{ int dat;
dat=arr[j];
arr[j]=arr[i];
arr[i]=dat;}
第二种改第二个for: for(j=0;j<9;j++)
C语言入门
926207 学习 · 20797 问题
相似问题