C语言!求解答,求过程,求代码,求思路

a375397953 2011-06-20 09:33:19
输入每一学生某一学课的平时、期中考试和期末考试成绩,计算出每一 学生的总成绩,并统计出各分数段的比例。要求如下:
从键盘上输入学生的学号、姓名、平时、期中、期末成绩;
按平时占20%,期中占30%,期末占50%计算总成绩。
统计出各分数段的人数及所占的比例;
将上述内容输出;
可考虑用结构体数组形式的数据类型,每一功能可用一个函数模块


C语言!求解答,求过程,求代码,求思路,详细的……
...全文
244 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuguoqiuguo 2011-06-26
  • 打赏
  • 举报
回复
自己写写吧,还是
leihaoyi 2011-06-26
  • 打赏
  • 举报
回复
帮你顶啊!!
ameyume 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pathuang68 的回复:]
引用 5 楼 booxiong 的回复:

哎,仁慈一把了,呵呵


这种仁慈 = 误人,呵呵。

很简单的题目,楼主以后好好学习吧。
[/Quote]
对啊,如果不能实际掌握,以后有苦头吃
楼主虽然求到代码,但一定要消化吸收变成自己的才行
逆风而飞 2011-06-21
  • 打赏
  • 举报
回复
都是作业啊?老师就不能玩点新花样啊
AnYidan 2011-06-21
  • 打赏
  • 举报
回复
上网找个类似的,自己改改
琳琅 2011-06-21
  • 打赏
  • 举报
回复
话说我那时也没这样,孩子啊,这样是不好滴,还是先自己解决比较好
如此美丽的你 2011-06-21
  • 打赏
  • 举报
回复
要相信自己!!!!!!
bailangtaotian 2011-06-21
  • 打赏
  • 举报
回复
哎!作业还是自己做的好。
lengwuqin 2011-06-20
  • 打赏
  • 举报
回复
我也不知道该怎么说,题目很简单,楼主自己写吧,老是看别人的,自己的编程能力提不上来啊。多多加油啊!
pathuang68 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 booxiong 的回复:]

哎,仁慈一把了,呵呵
[/Quote]

这种仁慈 = 误人,呵呵。

很简单的题目,楼主以后好好学习吧。
booxiong 2011-06-20
  • 打赏
  • 举报
回复
哎,仁慈一把了,呵呵
booxiong 2011-06-20
  • 打赏
  • 举报
回复
#include "stdlib.h"
#include "stdio.h"
#include "assert.h"

#define NUMBER_LENGTH 6
#define MAX_NAME_LENGTH 9
#define INIT_STUDENT_COUNT 20

struct StudentInfo
{
char no[NUMBER_LENGTH];
char name[MAX_NAME_LENGTH];
unsigned short usres;
unsigned short midres;
unsigned short finres;
unsigned short relres;
};

void CalcResult(StudentInfo* infos,int count,int* results,int grades)
{
assert(grades == 6);

for(int i = 0;i < count;i++)
{
switch((infos[i].relres) / 10)
{
case 6:
results[1]++;
break;
case 7:
results[2]++;
break;
case 8:
results[3]++;
break;
case 9:
results[4]++;
break;
case 10:
results[5]++;
break;
default:
results[0]++;
break;
}
}
}

int main()
{
StudentInfo* infos = NULL;
char szLine[80];
int count = 0;
int i = 0;
int results[6] = {0};

printf("please input the student count:\n");
scanf("%d",&count);

infos = (StudentInfo*)malloc(sizeof(StudentInfo) * count);

printf("please input the student info:\n");
printf("eg 10001 张三 92 85 91\n");
while(i < count)
{
scanf("%s %s %u %u %u",infos[i].no,infos[i].name,&infos[i].usres,&infos[i].midres,&infos[i].finres);
infos[i].relres = infos[i].usres * 0.2 + infos[i].midres * 0.3 + infos[i].finres * 0.5;
fflush(stdin);
i++;
}

CalcResult(infos,count,results,6);

printf("< 60 : %d %%%f\n",results[0], results[0] * 100.0 / count );
printf("60 ~ 70 : %d %%%f\n",results[1], results[1] * 100.0 / count);
printf("70 ~ 80 : %d %%%f\n",results[2], results[2] * 100.0 / count);
printf("80 ~ 90 : %d %%%f\n",results[3], results[3] * 100.0 / count);
printf("90 ~ 100 : %d %%%f\n",results[4], results[4] * 100.0 / count);
printf("100 : %d %%%f\n",results[5], results[5] * 100.0 / count);
}
l369294289 2011-06-20
  • 打赏
  • 举报
回复
自己写吧、、、很简单的
5t4rk 2011-06-20
  • 打赏
  • 举报
回复
作业题来了
我顶一下

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧