C语音编程题(一个班级有N个学生,每个学生有学号、姓名,学生学习课程语文、数学、英语)

一个班级有N个学生,每个学生有学号、姓名,学生学习课程语文、数学、英语。(1)由键盘输入每个学生的学号姓名以及三门课程的成绩,检查其合理性。(2)输出全班学生三门课程的成... 一个班级有N个学生,每个学生有学号、姓名,学生学习课程语文、数学、英语。
(1)由键盘输入每个学生的学号姓名以及三门课程的成绩,检查其合理性。
(2)输出全班学生三门课程的成绩、总分和平均成绩,并且按照学生平均成绩从高到低排序,要求每行输出一个同学。
(3)其格式为:
展开
 我来答
帐号已注销
2021-07-03 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

#include<stdio.h>

intn=0;

printf("请输入有多少个学生:\n");

printf("请输入第%d名学生的学号:\n",i+1);

scanf("%u",&stu[i].stuNum);

getchar();

printf("请输入第%d名学生的姓名:\n",i+1);

scanf("%d",&stu[i].scoreCh);

getchar();

printf("请输入第%d名学生的数学分数:\n",i+1);

scanf("%d",&stu[i].scoreMath);

getchar();

printf("请输入第%d名学生的英语分数:\n",i+1);

if(stu[j].totalScore>stu[j+1].totalScore)

{

studenttempStu;

printf("名次学号姓名语文数学英语总分平均分\n");

for(i=0;i<n;i++)

return0;

}

简洁的语言

C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

以上内容参考:百度百科-c语言

匿名用户
推荐于2018-02-27
展开全部
//没有做防护检测,自己添加一下吧
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef unsigned int uint;

typedef struct tagStudent student;

struct tagStudent
{
uint stuNum;
//uint seq;
wchar_t name[10];
int scoreCh;
int scoreEn;
int scoreMath;
int totalScore;
int averScore;
};

int main(void)
{
int n = 0;
int i = 0, j = 0;
wchar_t wch = 0;
student *stu = NULL;
printf("请输入有多少个学生:\n");
scanf("%d", &n);
getchar();

stu = (student *)malloc(sizeof(student)*n);
if(stu != NULL)
{
memset(stu, 0, sizeof(student)*n);
for(i = 0; i < n; i++)
{
printf("请输入第%d名学生的学号:\n",i+1);
scanf("%u", &stu[i].stuNum);
getchar();
printf("请输入第%d名学生的姓名:\n",i+1);
j = 0;
while((wch = getwchar()) != '\n')
{
stu[i].name[j] = wch;
j++;
}
printf("请输入第%d名学生的语文分数:\n",i+1);
scanf("%d", &stu[i].scoreCh);
getchar();
printf("请输入第%d名学生的数学分数:\n",i+1);
scanf("%d", &stu[i].scoreMath);
getchar();
printf("请输入第%d名学生的英语分数:\n",i+1);
scanf("%d", &stu[i].scoreEn);
getchar();
stu[i].totalScore = stu[i].scoreCh+stu[i].scoreMath+stu[i].scoreEn;
stu[i].averScore = stu[i].totalScore / 3;
}
for(i = 0; i < n-1; i++)
{
for(j = 0; j < n-1-i; j++)
{
if(stu[j].totalScore > stu[j + 1].totalScore)
{
student tempStu;
memset(&tempStu, 0, sizeof(student));
memcpy(&tempStu, stu+j, sizeof(student));
memcpy(stu+j, stu+j+1, sizeof(student));
memcpy(stu+j+1, &tempStu, sizeof(student));
}
}
}
printf("名次 学号 姓名 语文 数学 英语 总分 平均分\n");
printf("=================================================================\n");
for(i = 0; i < n; i++)
{
printf("%d %u %S %d %d %d %d %d\n", i+1, stu[i].stuNum, stu[i].name, stu[i].scoreCh, stu[i].scoreMath, stu[i].scoreEn, stu[i].totalScore, stu[i].averScore);
}
}

return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
熊熊正平0z
2014-11-27
知道答主
回答量:21
采纳率:0%
帮助的人:11.2万
展开全部
用结构体来做;;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式