关于用C语言写一个学生成绩表的任务,只求思路,不用代码。

已知某班50个学生考试了4门课程,要求实现下列功能:1.求每个人的平均成绩;2.统计平均成绩是优、良、中、及格、不及格的人数。具体的步骤,如定义一个什么数组用来存储信息之... 已知某班50个学生考试了4门课程,要求实现下列功能:
1.求每个人的平均成绩;
2.统计平均成绩是优、良、中、及格、不及格的人数。
具体的步骤,如定义一个什么数组用来存储信息之类的。求过程
展开
 我来答
root338
2013-01-16 · 超过16用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:34万
展开全部
如果你需要存储4门课程的信息思路如下:
定义一个结构体,其中要包含平均分一项,数据类型按照你要精确的位数,然后有结构体类型的数组存储
当你输入每课的成绩的时候,最后用个表达式求平均分就行了。
优秀、良好……这些用循环加switch 判断就行了。

如果你不需要存储4门课程那就直接定义一个实型的数组,
当你输入每课的成绩的时候,用个表达式求平均分存储下就行了。
优秀、良好……这些用循环加switch 判断就行了。
草根英雄1
2013-01-17 · TA获得超过409个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:232万
展开全部
C的面向对象思想。一个结构体,包含信息。操作结构的函数(增删改查,最好是能给个遍历回调,学习回调机制。(统计人数这个就很简单了)),从文件读,写文件等。
比如
bool cmp(结构 学生,void *ctx)
{
int *n = (int *)ctx;
学生.成绩 > N? return ture: return false;
}
这样就可以在遍历中
void travel(学生,size,find优良,中,及格)ok
哎·····居然不相信我的···
我给你说,像遍历查找这种,最好的方法就是stl find_if这种,回调函数机制。
travel 其实就是一句话
while(stu->next != null)
{
if(cb(stu,ctx))
以何种形式返回数据
stu = stu->next;
}
这个最好用列表。不要用数组,因为人数不固定。而且增删改查效率低。
其次,定义如下宏
#define 优 “90-100”
#define 良 “80-90”
#define 中 “70-80”
#define 差 “60-70”还有不及格0-60
真的随便怎么找都很简单,而且实现了代码重用,高效等···哎一看你就是学生,不说什么了·但愿我的思路你能考虑一下··
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-16
展开全部
首先,定义一个学生结构体,包括学生学号、姓名、课程成绩数组(4个元素的浮点数数组)、平均成绩、总成绩和一个标识(标识优、良、中等);
其次,定义一个结构体数组,50个元素,也就是50个学生;并定义优、良、中等变量记录相应的人数;
再次,设定优、良、中等分数线,这个可以输入,也可以预先设定;
最后,计算每个人的平均成绩并判定优、良。中等,优、良、中等变量根据情况+1。
--------------------------------------
结构体数组成员根据情况设定,至少要有学生姓名(或学号)和课程成绩数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
junfengjia
2013-01-16 · TA获得超过172个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:161万
展开全部
定义: 数组a[50][4] //每个学生的4门成绩
定义: 数组b[50] //每个学生的平均成绩
定义: 数组c[5] //每种成绩的人数
写个for()把成绩录进去
1、求平均成绩
for(i=0,i<50,i++)
{
for(j=0,j<4,j++)
{
b[i]=b[i]+a[i][j]
}
b[i]=b[i]/4
}
2、求5种成绩的人数
for(i=0,i<50,i++)
{
if(b[i]>=90) c[0]=c[0]+1;
else if (b[i] >=70 c[1]=c[1]+1;
………………
}

就是这样
很长时间没写过了,可能有些语法不对,你看着改吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
digent
2013-01-16 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:10.3万
展开全部
可以用链表去实现,比较好操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式