C语言 计算5个学生的成绩,总成绩和平均成绩,输入最大值和最小值.

如题所述

#include <stdio.h>

int main()
{
 int i; 
 float score[5],all = 0,avg = 0;
 printf("请输入这五位学生的成绩:\n");
 for(i = 0; i < 5; i++)
  scanf("%f",&score[i]); 
    float max=score[0],min=score[0];
 for(i = 0; i < 5; i++)
 {   
  all += score[i];   
  if(score[i]>max)
   max = score[i];  
  if(score[i]<min)
   min = score[i];
 }  
 avg=all/5;
 printf("总成绩:%g\n平均成绩:%3.2f\n最大值:%g\n最小值:%g\n",all,avg,max,min) 

return 0;

}

 /* %g是自动简化输出,省略后面的0 */

 

 

经过调试 没有有问题

运行如下

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-10
学生成绩管理
功能要求:
输入十个同学的学号,姓名,四科成绩(应用数学,大学英语,Java程序设计,计算机应用基础)
计算出平均成绩.以平均成绩降序输出成绩表.
输出全组各科平均分,最高分和最低分.
输入姓名查询成绩
#include<stdio.h>
#include<math.h>
#include<string.h>
struct students
{
int num;
char name[20];
int math;
int english;
int java;
int pc;
int aver;
int total;
}

main()
{
int i=0;
int j=0;
int sum=0;
int av;
int choice;
char ch,n[20];
struct students temp;
struct students stu[3];
ml:
clrscr();
printf("*****************WELCOM TO THE STUDENTS INFORMATION System*******************\n");
printf(" * 1:Look for students by name *\n");
printf(" * 2:Check all students' by average high to low *\n");
printf(" * 3:Input students' information *\n");
printf(" * 4:Check every class tall-low *\n");
printf("*****************************************************************************\n");
printf("\n");
printf("GIVE YOU CHOICE:");
scanf("%d",&choice);
if(choice==1)
{
ch1:
clrscr();
printf(" * Look for students by name *\n");
printf("Please input student's Name:");
scanf("%s",&n);
for(i=0;i<=9;i++)
if(strcmp(n,stu[i].name)==0)
break;
if(i<=9)
{
printf("Name Number Math English Java Pc Aver Sum \n");
printf("%s %d %d %d %d %d %d %d\n",stu[i].name,stu[i].num,stu[i].math,stu[i].english,stu[i].java,stu[i].pc,stu[i].aver,stu[i].total);
}
else
printf("NO FOUND!\n");

printf("Did you got what you want?\n");
printf("Do you want to go on? Y or N:\n");
ch=getch();
if(ch=='y'||ch=='Y')
goto ch1;
else
goto ml;
}
/*----------------以下是排序部分,使算法的精华噢!-----------------*/
if(choice==2)
{ clrscr();
printf(" * Check all students' information *\n");
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].aver<stu[i+1].aver)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
printf("Name Number Math English Java Pc Aver Sum \n");
for(i=0;i<10;i++)
printf("%s %d %d %d %d %d %d %d\n",stu[i].name,stu[i].num,stu[i].math,stu[i].english,stu[i].java,stu[i].pc,stu[i].aver,stu[i].total);
getch();
goto ml;
}
/*--------------以上是排序部分,使算法的精华噢!----------------*/
if(choice==3)
{clrscr();
printf(" * Input students' information *\n\n");
while(i<10)
{

printf("Please input student's Name:\n");
scanf("%s",&stu[i].name);
printf("Please input student's Number, Math, English, Java and Pc :\n");
scanf("%d%d%d%d%d",&stu[i].num,&stu[i].math,&stu[i].english,&stu[i].java,&stu[i].pc);
stu[i].total=stu[i].math+stu[i].english+stu[i].java+stu[i].pc;
stu[i].aver=(stu[i].total)/4;
i++;

}
goto ml;
}
if (choice==4)
ch4:
{
clrscr();
printf(" * Check every class tall-low *\n");
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].aver<stu[i+1].aver)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].math;}

av=sum/10;
sum=0;

printf("The average of Math is: %d\n",av);
printf("The tallest in Math is: The lowest in Math is:\n");
printf("Name Number Math Name Number Math\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].math,stu[9].name,stu[9].num,stu[9].math);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].english<stu[i+1].english)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].english;}

av=sum/10;
sum=0;
printf("The average of English is: %d\n",av);
printf("The tallest in English is: The lowest in English is:\n");
printf("Name Number English Name Number English\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].english,stu[9].name,stu[9].num,stu[9].english);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].java<stu[i+1].java)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].java;}

av=sum/10;
sum=0;
printf("The average of Java is: %d\n",av);
printf("The tallest in Java is: The lowest in Java is:\n");
printf("Name Number Java Name Number Java\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].java,stu[9].name,stu[9].num,stu[9].java);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].pc<stu[i+1].pc)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].pc;}

av=sum/10;
sum=0;
printf("The average of Pc is: %d\n",av);
printf("The tallest in Pc is: The lowest in Pc is:\n");
printf("Name Number Pc Name Number Pc\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].pc,stu[9].name,stu[9].num,stu[9].pc);
getch();
goto ml;
}
}


第2个回答  2013-05-10
#include <stdio.h>
void main()
{
int i;
float score[5],all=0,avg=0,max=-10000,min=10000;
for(i=0;i<5;i++)
scanf("%f",&score[i]);
for(i=0;i<5;i++)
{
all+=score[i];
if(score[i]>max)max=score[i];
if(score[i]<min)min=score[i];
}
avg=all/5;
printf("总成绩:%g,平均成绩:%3.2f,最大值:%g,最小值:%g\n",all,avg,max,min);

}