慕少519656
2020-11-16 15:24
#include <stdio.h>
int Sort(int arr[]) //成绩降序
{
int i,j ;
printf("成绩降序排序为:\n");
for(i=9;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(arr[j]>arr[j+1])
{
int sum;
sum=arr[j];
arr[j]=arr[j+1];
arr[j+1]=sum;
}
}
printf("%d ",arr[i]);
}
return 0;
}
int Total(int arr[]) //总分
{
int i,j;
static int sum;
for(i=9;i>=0;i--)
sum=arr[i]+sum;
printf("成绩的总分是: %d",sum);
return sum;
}
int average(int arr[]) //平均分
{
int i;
static int j;
int sum;
for(i=9;i>=0;i--)
j=arr[i]+j;
sum=j/10;
printf("成绩的平均分是: %d",sum);
}
int Max(int arr[]) //最高分
{
int i,j;
int sum=0;
for(i=9;i>=0;i--)
{
if(arr[i]>sum)
{
sum=arr[i];
}
}
printf("成绩的最高分是: %d",sum);
return 0;
}
int Min(int arr[]) //最低分
{
int i,j;
int sum;
sum=arr[1];
for(i=9;i>=0;i--)
{
if(arr[i]<sum)
{
sum=arr[i];
}
}
printf("成绩的最低分是: %d",sum);
return 0;
}
int main()
{
int score[]={67,98,75,63,82,79,81,91,66,84};
Sort(score);
printf("\n");
Total(score);
printf("\n");
average(score);
printf("\n");
Max(score);
printf("\n");
Min(score);
printf("\n");
return 0;
}
#include <stdio.h>
//我的稍微合并了下54行
//总分
int Total(int score[])
{
int total;
for(int i = 0; i < 10; i++)
{
total += score[i];
}
return total;
}
//降序排序
void Sort(int score[])
{
int temp;
for (int i=9;i>=0;i--)
{
for (int j=0;j<i;j++)
{
if (score[j]<score[j+1])
{
temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
}
int main()
{
int score[]={67,98,75,63,82,79,81,91,66,84};
//降序排列
Sort(score);
printf("降序排列\n");
for (int i=0;i<10;i++)
{
if (i!=9)
{
printf("%d, ",score[i]);
}
else
{
printf("%d\n",score[i]);
}
}
int max = score[0];
int min = score[9];
int total = Total(score);
float avg = total/10;
printf("最高分:%d\n最低分:%d\n总分:%d\n平均分:%.2f\n",max,min,total,avg);
return 0;
}
你可以先降序排序之后再求最大最小值
C语言入门
926026 学习 · 20793 问题
相似问题