编写程序, 输入10个学生3门课的成绩, 计算每个学生的平均成绩,按平均成绩降序排列并打印出结果??
来源:百度知道 编辑:UC知道 时间:2024/09/23 23:34:46
#define M 3
#define N 3
main()
{
int i,j,t;
float total=0;
char name[M][5];
char change[1][5];
int score[M][N];
float average[M];
for(i=0;i<M;i++)
{ printf("name:");
scanf("%s",name[i]);
printf("score:");
for(j=0;j<N;j++)
{
scanf("%d",&score[M][N]);
total+=score[M][N];
}
average[i]=total/N;
}
for(i=0;i<M-1;i++)
{
for(j=0;j<M-1-i;j++)
if(average[j]<average[j+1])
{
t=average[j];average[j]=average[j+1];average[j+1]=t;
strcpy(change[1],name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],change[1]);
}
}
for(i=0;i<M;i++)
{
printf("%s:",name[i]);
printf("%5d&quo
#include"string.h"
#define M 10 /*10个学生*/
#define N 3
main()
{
int i,j; /*t的精度不够高 必须为float型*/
float t;
float total=0;
char name[M][5];
char change[1][5];
float score; /*这个就可以, 若是int score[M][N] 最大到score[M-1][N-1]*/
float average[M];
clrscr();
for(i=0;i<M;i++)
{
total = 0; /*here*/
printf("name:");
scanf("%s",name[i]);
printf("score:");
for(j=0;j<N;j++)
{
scanf("%f",&score); /*分数可能有小数 用%f*/
total+=score;
}
average[i] = total/N;
}
for(i=0;i<M-1;i++)
{
for(j=0;j<M-1-i;j++)
if(average[j]<average[j+1])
{
t=average[j];average[j]=average[j+1];average[j+1]=t;
strcpy(change[0],name[j]); /*由于是change[1]最大到change[0]*/
strcpy(name[j],name[j+1])