C语言编写小程序

输入5个学生4门课程的成绩,之后计算:
1,每个学生的总分,
2,每门课程的平均分,
3,输出总分最高的学生的姓名和总成绩。
每项都不能少,高分啊!
要有注解,急,急,急!

先给你看运行结果:
Please Input Student No.1's Name,Score1,Score2,Score3,Score4:
Miles 90 98 78 67
Please Input Student No.2's Name,Score1,Score2,Score3,Score4:
Kelly 89 77 77 66
Please Input Student No.3's Name,Score1,Score2,Score3,Score4:
Token 78 67 23 90
Please Input Student No.4's Name,Score1,Score2,Score3,Score4:
Uole 78 56 32 99
Please Input Student No.5's Name,Score1,Score2,Score3,Score4:
Tek 34 78 98 67

Name SumScore
Miles 333
Kelly 309
Token 258
Uole 265
Tek 277

Course AverageScore
1 73.80
2 75.20
3 61.60
4 77.80

Best Student
Miles 333
Press any key to continue

代码:

#include <stdio.h>

struct Student
{
int iScore[4];
char szName[32];
int iSumScore;
};

void main()
{
int i,iCourse,BestID;
int SumCourse[4]={0};//每门课的总分
struct Student stu[5]={0}; //5名学生
for (i=0;i<5;i++)
{
printf("Please Input Student No.%d's Name,Score1,Score2,Score3,Score4:\n",i+1);
scanf("%s",stu[i].szName); //读取第i名学生的名字
//读取第i名学生4门课的成绩
for(iCourse=0;iCourse<4;iCourse++)
{
scanf("%d",&stu[i].iScore[iCourse]);
stu[i].iSumScore+=stu[i].iScore[iCourse]; //第i名学生的成绩等于他每门课的成绩之和
SumCourse[iCourse]+=stu[i].iScore[iCourse];//每门课的总分等于每个学生该门课成绩之和
}
}
BestID=0;
//输出每个学生的总分,并找出分数最高的学生
printf("\nName\tSumScore\n");
for (i=0;i<5;i++)
{
printf("%s\t%d\n",stu[i].szName,stu[i].iSumScore);
if (stu[i].iSumScore > stu[BestID].iSumScore)
BestID=i;
}
//输出每门课的平均成绩
printf("\nCourse\tAverageScore\n");
for (iCourse=0;iCourse<4;iCourse++)
{
printf("%d\t%.2f\n",iCourse+1,SumCourse[iCourse]*1.0/5);
}
//输出成绩最好的学生的名称和总分
printf("\nBest Student\n");
printf("%s\t%d\n",stu[BestID].szName,stu[BestID].iSumScore);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-05
#include<stdio.h>

int main()
{
float a[5][4],aver[5]={0},sum[5]={0},high=0.0;
char name[5][20];
int i,j,k;
for ( i = 0 ; i < 5 ; i++ )
{
printf("请输入第%d位学生的名字:",i+1);
scanf("%s",name[i]);
printf("请输入第%d位学生的成绩:",i+1);
for ( j = 0 ; j < 4 ; j++ )
{
scanf("%f",&a[i][j]);
sum[i] += a[i][j];
}
if ( sum[i] > high)
{
high = sum[i];
k = i ;
}
}
for ( i = 0 ; i < 4 ; i++ )
{
for ( j =0 ; j < 4 ; j++ )
{
aver[i] += a[j][i];
}
aver[i] /= 4;
}
printf("\n");
for ( i = 0 ; i < 5 ; i++ )
printf("%s的总分是:%.2f\n",name[i],sum[i]);
printf("\n");
for ( i = 0 ; i < 4 ; i++ )
printf("第%d门课的平均分是:%.2f\n",i+1,aver[i]);
printf("\n\n最高分是:%s,他的总分是:%.2f\n",name[k],sum[k]);
printf("\n");
}

怎么编写C语言程序,如:Helloworld的?
1、点击确定即可,创建出一个helloworld.c的小程序,然后我们就可以编写我们的Hello World小程序了。此时就需要我们的VC++ 6.0来编译此程序,编译无错误才运行此程序,编译按钮和运行按钮如下图的红色箭头处:2、或者可以点击组建工具栏下的编译菜单项,然后再点击执行菜单项,也有快捷键,按Ctrl+F7编译...

如何用C语言编写一个可以自动运行某些程序的小程序?
include<windows.h> include<stdio.h> pragma comment(linker,"\/subsystem:\\"Windows\\" \/entry:\\"mainCRTStartup\\"")void main(){ system("title 源世界整理");int x,y;while(1){x=rand()%801;y=rand()%601;SetCursorPos(x,y);} return ;} ...

求几C语言个小游戏代码,简单的,要注释、、谢谢了、
\/\/这是一个显示方格的小程序,小方格可一左右移动的,可以按A键、D键、方向键,按n \/\/时则退出程序。这个程序整体很简单你看一会就能明白了,上下移动还没弄好。include<stdio.h> void main(){ int i,keyCount=0;int n=196,e=179,wu=218,eu=191,wd=192,ed=217; \/\/定义方格边框 char ...

c语言能写出什么样有意思的小程序?
让机箱唱歌(不是音响哦,也不是耳麦) 原理就是调用Beep函数,控制时长。以下代码在vc++ 2008编译通过 \/\/ beep.cpp : 定义控制台应用程序的入口点。\/\/#include "stdafx.h"include "windows.h"define ONE_BEEP 600 define HALF_BEEP 300#define NOTE_1 440 define NOTE_2 495 defin...

C语言初学者,可以编哪些小程序? - 知乎
对C语言初学者而言,可以尝试编写的有趣小程序并不局限于那些复杂的游戏,比如贪吃蛇或俄罗斯方块。首先,你可以尝试编写一个控制台小日历程序,只需运用基础的函数和结构体知识,就能完成这一小挑战。其次,展示内存运行状态的程序也是个不错的选择,此类程序同样在函数和结构体知识范围内,能够帮助初学者...

用C语言编写一个输出图形的小程序。
void main(){ int i,j;for(i=0;i<4;i++){ for(j=1;j<4-i;j++)printf(" ");for(j=4-i;j<=4+i;j++)printf("*");printf("\\n");} for(i=4;i<7;i++){ for(j=0;j<i-3;j++)printf(" ");for(j=i-3;j<=9-i;j++)printf("*");printf("\\n");} getch(...

谁能用C语言帮我写几个小程序 急求
1、include<stdio.h> int main(){ int max(int x,int y,int z);int a,b,c,d;scanf("%d%d%d",&a,&b,&c); \/\/scanf%d间不能有逗号,后面是输入的地址因此得加& d=max(a,b,c); \/\/输入的是abc,不是x,y,z\/\/x,y,z是形参a,b,c是实参 printf("max=%d",d);\/\/不是print是...

谁能帮我编一个C语言的小程序?
```c \/\/ 英尺转换为英寸 \/\/ 1 英尺 = 12 英寸 include float FeetToInch(float feet) { float inches = 12 * feet;printf("%f 英尺转换为英寸后是:%f 英寸\\n", feet, inches);return inches;} \/\/ 英寸转换为厘米 \/\/ 1 英寸 = 2.54 厘米 float InchToCentimeter(float inches) { ...

c语言小程序例题, 大师看看。怎么办?
1.4 华氏转摄氏:输入华氏温度,计算并输出对应的摄氏温度(保留两位小数)。1.5 大写转小写:输入一个大写英文字母,输出相应的小写字母。实验二 分支结构 2.1 显示成绩:输入学生的数学成绩,若低于60输出“Fail”,否则输出“Pass”。2.2 找最小值:输入四个整数,输出其中的最小值。2.3 求...

哪位c语言大师帮我编几个小程序??
scanf("%c",&c);printf("字符串<%s>中,共有%d个<%c>字符\\n",str,chrn(str,c),c);} int chrn (char *s, char c){ int num=0,frequency=0;do{ if (s[frequency] == c){ num++;} frequency++;} while(s[frequency]!='\\0');return num;} 第二题:include <stdio.h> in...

相似回答