C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值

如题所述

#include <stdio.h>

#define MAX 10

struct student {
char no[10];
char name[10];
float score[3];
}stu[MAX];

float ave_course[3] = {0};
float ave_student[MAX] = {0};

int max_ave_i = 0; // 存储平均分最高的学生索引
int max_course_i[3] = {0}; //存储单科分数,最高的学生索引

// 录入学生成绩
void input(int n) {
int i;
for(i=0; i<n; i++) {
scanf("%s %s", stu[i].no,stu[i].name);
scanf("%f %f %f", &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
}

// 计算平均成绩
void average(int n){
int i,j;
float max_ave = 0.0f;
float max_course[3] = {0};

// 计算每门课的平均成绩
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
ave_course[j] += stu[i].score[j];

if(max_course[j]<stu[i].score[j]){
max_course[j]<stu[i].score[j];
max_course_i[j] = i;
}
}
}

for(j=0; j<3; j++) {
ave_course[j] /= n;
}

// 计算每个学生的平均成绩
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
ave_student[i] += stu[i].score[j];
}
ave_student[i] /= 3;
if(max_ave < ave_student[i]) {
max_ave = ave_student[i];
max_ave_i = i;
}
}
}

void main () {
int i,j;

printf("请输入学生的学号 姓名 语文 数学 英语");
input(MAX);

average(MAX);
printf("\n课程的平均成绩是: %6.2f %6.2f %6.2f\n",ave_course[0],ave_course[1],ave_course[2]);

printf("\n学生的平均成绩是: \n");
for(i=0; i<MAX; i++) {
printf(" %s %s %6.2f\n", stu[i].no, stu[i].name, ave_student[i]);
}

printf("平均分,最高的学生:\n");
printf(" 学号=%s, 姓名=%s, 平均分=%6.2f:\n", stu[max_ave_i].no, stu[max_ave_i].name, ave_student[max_ave_i]);

printf("语文,最高分的学生:\n");
i=max_course_i[0];
printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name, stu[i].score[0]);

printf("数学,最高分的学生:\n");
i=max_course_i[1];
printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name, stu[i].score[1]);

printf("英语,最高分的学生:\n");
i=max_course_i[2];
printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name, stu[i].score[2]);

getchar();
getchar();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-18
#include<stdio.h>
void main()
{
int num;
float arry[10],sum;
for(num=0;num<10;num++)
{
printf("请输入第%d个学生的成绩:");
scanf("%f",&arry[num]);
sum=0;
sum=sum+arry[num];
printf("\n");
}
printf("十个学生的总成绩为:%4f\n他们的平均成绩是:%4f\n",sum,sum/10);
}
差不多就是这样了,你用VC6.0的平台试一下,这些东西是比较简单的,好好看看谭浩强的那本C语言吧
第2个回答  2012-11-18
#include <stdio.h>
void main()
{
int i,sum;
int a[10];
float average;
sum =0;
printf("please input the score.\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
sum += a[i];
}
average = (float)(sum/10.0);
printf("总分=%d,平均分=%f\n",sum,average);
}

VC6.0下调试通过。
第3个回答  2012-11-18
不知道楼主是否要输入输出提示,我写上去了。
#include<stdio.h>
int main(void)
{
int i;
double mark,sum=0,average;
printf("Enter mark:\n");
for(i=1;i<=10;i++)
{
scanf("%lf",&mark);
sum=sum+mark;
}
average=sum/10;
printf("Sum is %.2f\n",sum);
printf("Average is %.2f\n",average);
return 0;
}

C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值...
printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\\n", stu[i].no, stu[i].name, stu[i].score[0]);printf("数学,最高分的学生:\\n");i=max_course_i[1];printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\\n", stu[i].no, stu[i].name, stu[i].score[1]);printf("英语,...

C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值...
1、请输入第7个学生的成绩:76请输入第8个学生的成绩:84请输入第9个学生的成绩:87请输入第10个学生的成绩:7910名学生的平均成绩为:830```希望这个代码可以帮助你实现你所需的功能。2、C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数。

用C语言编程从键盘输入10个学生的成绩,求平均成绩?
c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?} average = (float)(sum\/0);printf(总分=%d,平均分=%f\\n,sum,average);} VC0下调试通过。然后在循环语句外使用(average=sum\/10)来计算10个数的平均数。按照题目的要求编写完源代码之后,点击“运行”,弹出输入页面之后,...

c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?
int main() { int i;float score, sum = 0, avg;printf("请输入10个学生的成绩:\\n");for (i = 1; i <= 10; i++) { printf("第%d个学生的成绩:", i);scanf("%f", &score);sum += score;} avg = sum \/ 10;printf("10个学生的成绩总和为%.2f,平均值为%.2f。\\n",...

用c语言编一个程序,输入10个学生的成绩,求平均值。
以下是一个简单的示例代码,可以输入10个学生的成绩并求平均值:include <stdio.h> int main() { int i, score, sum = 0;float avg;printf("请输入10个学生的成绩:\\n");for (i = 1; i <= 10; i++){ printf("第%d个学生的成绩:", i);scanf("%d", &score);sum += score; ...

用C语言编写程序:从键盘输入10个学生的成绩,输出其最大值、最小值、和...
double max=NULL;double min=NULL;puts("请输入10个学生的成绩:");for(int i=0;i<10;i++){ scanf("%lf",&a[i]);} for(int i=0;i<10;i++){ sum+=a[i];i==0?max=a[0],min=a[0]:(maxa[i]?min=a[i]:NULL);} printf("所有元素的平均值为:%lf\\n",sum\/10);prin...

c语言中的10个学生怎么统计平均值?
下面是一个使用C语言编写的程序,输入10个成绩并求平均分的示例:include <stdio.h> int main() { int scores[10];int sum = 0;printf( "请输入10个成绩:\\n");for (int i = 0; i < 10; i++) { printf("请输入第%d个成绩:",i+1);scanf(%d",&scores[i]);sum += scores[i...

C语言编写函数,求10个学生的平均成绩,使用数组
1、首先打开visual studio 2019软件,新建一个win32控制台程序。2、然后在源文件夹下面新建一个C语言文件。3、接着在C语言中导入stdio和stdlib库。4、然后在main函数中输入如下图所示的逻辑代码。5、运行程序以后就可以看到CMD界面,这里需要输入10个成绩。6、最后输完第10个成绩的时候,回车就可以得到...

C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分...
int i;float a[10],min,max,avg;\/\/max表示最高分,min表示最低分,avg表示平均分 printf("请输入10位学生的分数\\n");printf("***\\n");for(i=0;i<=9;i++){ printf("请输入一位学生的分数:");scanf("%f",&a);} max=min=avg=a[0];for(i=1;i<=9;i++){ if(min>a){...

c语言如何输入10个人的成绩并求均值
int iScore[10];float fTotle = 0;for(int i = 0; i < 10; i++){ cin>>iScore[i];fTotle += iScore[i];} cout << endl << "平均值为:%d" << fTotle\/10.0;

相似回答