c语言求总成绩,编一程序,从键盘输入4门功课成绩,求总成绩和平均成绩并输出(用C语言)...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

YYquanhuang

2014.01.01

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:50%    等级:13

已帮助:6589人

#include

using namespace std;

int mai()

{

float a[n][4]; //其中n为学生数,必须是一个确定的数字

string st[n];

float average[4]={0},sum=0;

cout<

for(int i=0;i>st[i]; //输入学生名

cout<

for(int i=0;i

for(int j=0;j<4;j++)

{ cin>>a[i][j];

sum+=a[i][j];

}

for(int j=0;j<4;j++) //求四门课的平均成绩

{ for(int m=0;m

avrage[j]=a[m][j];

avrage[j]=avrage[j]/n;

}

for(int k=0;k<4;k++)

cout<

cout<

cout<

retrun 0;

} 把其中的n全部替换成学生的个数~

就是这样,希望有帮助~~

10分享举报

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是实现以上功能的C语言代码: ```c #include <stdio.h> #include <string.h> #define STUDENT_NUM 5 #define COURSE_NUM 4 int main() { char name[STUDENT_NUM][20]; int score[STUDENT_NUM][COURSE_NUM]; int total_score[STUDENT_NUM]; float course_avg[COURSE_NUM]; // 输入学生姓名和成绩 for (int i = 0; i < STUDENT_NUM; i++) { printf("请输入第%d个学生的姓名:", i + 1); scanf("%s", name[i]); for (int j = 0; j < COURSE_NUM; j++) { printf("请输入%s的第%d课的成绩:", name[i], j + 1); scanf("%d", &score[i][j]); } } // 计算每个学生的总分和每课程的平均分 memset(total_score, 0, sizeof(total_score)); memset(course_avg, 0, sizeof(course_avg)); for (int i = 0; i < STUDENT_NUM; i++) { for (int j = 0; j < COURSE_NUM; j++) { total_score[i] += score[i][j]; course_avg[j] += (float)score[i][j] / STUDENT_NUM; } } // 输出每个学生的总分和每课程的平均分 printf("每个学生的总分如下:\n"); for (int i = 0; i < STUDENT_NUM; i++) { printf("%s的总分是%d\n", name[i], total_score[i]); } printf("每课程的平均分如下:\n"); for (int i = 0; i < COURSE_NUM; i++) { printf("第%d课的平均分是%.2f\n", i + 1, course_avg[i]); } // 找出总分最高的学生 int max_score = -1; int max_index = -1; for (int i = 0; i < STUDENT_NUM; i++) { if (total_score[i] > max_score) { max_score = total_score[i]; max_index = i; } } printf("总分最高的学生是%s,总分是%d\n", name[max_index], max_score); return 0; } ``` 这个代码使用了二维数组来存储学生的成绩,一维数组来存储学生的姓名和总分,以及一维数组来存储每课程的平均分。在输入学生成绩后,使用嵌套的for循环计算每个学生的总分和每课程的平均分。最后,使用一个for循环找出总分最高的学生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值