
帮忙用C语言写个简单的小程序,题目如下:利用结构体数据类型编程
利用结构体数据类型编程实现,从键盘录入20个学生的数据,数据包括姓名,学号,C语言成绩。数据录入后,将全部20个学生的平均成绩和所有成绩不及格的姓名和学号输出。...
利用结构体数据类型编程实现,从键盘录入20个学生的数据,数据包括姓名,学号,C语言成绩。数据录入后,将全部20个学生的平均成绩和所有成绩不及格的姓名和学号输出。
展开
2个回答
展开全部
先定义学生结构体:
struct student
{
string name;
string number;
float c_score;
};
定义学生数组:
const int stu_amount= 20;//学生人数
student stu[stu_amount];
for(int index =0; index <stu_amount; index++)
{/*一个个录入成绩*/}
汇总所有学生的成绩和输出不及格的学生:
float sum_score;//成绩汇总
float pass_score=60;//及格分数
printf("不及格的学生有:\n");
printf("姓名\t学号\t成绩\n");
for(int index =0; index <stu_amount; index++)
{
score+=stu[index].c_score;
if(stu[index].c_score<pass_score)
{
printf("%s\t%s\t%f\n",stu[index].name,stu[index].number,stu[index].c_score)
}
}
最后计算平均成绩并输出:
float avg_score=score/stu_amount;
printf("平均成绩是:%f\n",avg_score);
代码没实际调试,请自行组织整理。希望对你有帮助。
追问
大哥,能不能帮忙整理成完整的一个程序一下哦,这节没学好,所以不会啊,谢谢了
追答
#include <stdio.h>
#include <string.h>
const int stu_amount= 20;//学生人数
const float pass_score=60;//及格分数
//定义学生结构体
struct student
{
string name;//姓名
string number;//学号
float c_score;//C语言成绩
};
int main()
{
student stu[stu_amount];
for(int index =1; index <=stu_amount; index++)
{
/*一个个录入成绩*/
printf("请输入第%d位学生的信息:\n",index);
printf("姓名:");
scanf(%s,stu[index].name);
printf("学号:");
scanf(%s,stu[index].number);
printf("成绩:");
scanf(%f,&stu[index].c_score);
}
float sum_score;//成绩汇总
printf("不及格的学生有:\n");
printf("姓名\t学号\t成绩\n");
for(int index =0; index <stu_amount; index++)
{
score+=stu[index].c_score;
if(stu[index].c_score<pass_score)
{
printf("%s\t%s\t%f\n",stu[index].name,stu[index].number,stu[index].c_score)
}
}
float avg_score=score/stu_amount;
printf("平均成绩是:%f\n",avg_score);
return 0;
}
好久没写C了,有些地方可能有问题,而且现在没环境调试,不知道能不能运行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询