注册 登录
编程论坛 C语言论坛

小弟结构体还没学,求助这道题怎么写,要交了,好急……

ASCIIII 发布于 2020-12-16 14:19, 2136 次点击
结构体编程题:
结构体程序设计:考研初试成绩包括外语、政治、数学和专业课四科成绩(其中,外语和政治满分100分,数学和专业课满分150分)。某校复试分数要求是同时满足:外语、政治不低于45分;数学和专业课不低于75分;总分不低于320分。编程实现5名考生考研成绩统计功能。
定义结构体类型,每个考生信息包括:考号(1~5)、姓名、各科成绩、初试总分和是否满足复试要求标记;
编写函数Cal_Mark(),计算每个考生的初试总分,并将不满足复试要求的考生标记为‘F’ ,满足复试要求的考生标记为‘P’;
编写函数SelectionSort(),用简单选择排序法按初试总分从高到低排序;
编写主函数,在主函数中从键盘输入所有考生的考号、姓名和四科成绩,通过参    数传递调用上述两个函数,最后在主函数中按初试总分从高到低顺序输出满足复试要求的考生信息组成的复试名单。
3 回复
#2
memcpy2020-12-16 14:51
好搞呀 这
#3
rjsp2020-12-16 15:03
以下是引用memcpy在2020-12-16 14:51:37的发言:

好搞呀 这

考号的类型是什么?姓名最长多少?成绩是只有整数,还是可以出现小数?
函数Cal_Mark 是只计算一个考生,调用5次,还是调用一次,一次就计算完5个考生?
函数SelectionSort 遇到总分相同的情况怎么分先后?
输入的考号重复,或不在[1,5]区间内怎么办?姓名会有空格等特殊字符吗,比如“James Bond”?
#4
memcpy2020-12-16 15:33
考号 char 或者int 都行
姓名 用指针 字符爱多长多长
成绩 有小数的话 可以用 float
Cal_Mark 调用用一次 计算完  (你可以定义一个结构体数组、用循环赋值)
没让排名  把分数由高到底排序就行了吧 只需输出符号复试的名单
考号不在1-5 加个判定就行了 不在这个范围 提示输入错误
用指针定义字符串
1