要求:有5名学生,每个学生有3门课的成绩,从键盘输入以下数据(包括学号、姓名、三门课成绩),计算出总分和平均分。
学生原始数据:
201201 Wang 89 98 67
201202 Li 70 80 90
201206 Sun 78 88 80
201212 Zhang 100 87 91
201220 Zhao 81 64 92
如何编出以上的源程序?~
结构体数组的应用(C语言)
答案:2 悬赏:40 手机版
解决时间 2021-12-28 15:35
- 提问者网友:感性作祟
- 2021-12-28 06:56
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-12-28 07:03
#include
typedef struct node
{
char No[10];
char Name[10];
int Eng;
int Math;
int C;
double Ave;
int Sum;
}node;
int main()
{
int i;
node stu[5];
for(i=0;i<5;i++)
{
scanf("%s%s%d%d%d",stu[i].No,stu[i].Name,&stu[i].Eng,&stu[i].Math,&stu[i].C);
stu[i].Sum=stu[i].Eng+stu[i].Math+stu[i].C;
stu[i].Ave=stu[i].Sum*1.0/3;
}
printf("学号 姓名 英语 数学 C语言 总分 平均分\n");
for(i=0;i<5;i++)
{
printf("%-8s%-8s%-6d%-6d%-6d%-6d%.2lf\n",stu[i].No,stu[i].Name,stu[i].Eng,stu[i].Math,stu[i].C,stu[i].Sum,stu[i].Ave);
}
}
其实很简单的,没事就多看看书,多多练习,一切都在经验中!要相信自己
(你的采纳是我的动力)
typedef struct node
{
char No[10];
char Name[10];
int Eng;
int Math;
int C;
double Ave;
int Sum;
}node;
int main()
{
int i;
node stu[5];
for(i=0;i<5;i++)
{
scanf("%s%s%d%d%d",stu[i].No,stu[i].Name,&stu[i].Eng,&stu[i].Math,&stu[i].C);
stu[i].Sum=stu[i].Eng+stu[i].Math+stu[i].C;
stu[i].Ave=stu[i].Sum*1.0/3;
}
printf("学号 姓名 英语 数学 C语言 总分 平均分\n");
for(i=0;i<5;i++)
{
printf("%-8s%-8s%-6d%-6d%-6d%-6d%.2lf\n",stu[i].No,stu[i].Name,stu[i].Eng,stu[i].Math,stu[i].C,stu[i].Sum,stu[i].Ave);
}
}
其实很简单的,没事就多看看书,多多练习,一切都在经验中!要相信自己
(你的采纳是我的动力)
全部回答
- 1楼网友:愁杀梦里人
- 2021-12-28 08:11
一些小错误. 已经帮你改过来了.
#include<stdio.h> #include<string.h>
struct person { char name[20]; int count; }leader[2]={"zhangsan",0,"lisi",0}; //struct定义完成后要有;
void main() { int i,j; char leader_name[20]; for(i=0 ; i<2;i++) //;不要写成, { scanf("%s" , leader_name); //,不要写成. for(j=0;j<2;j++) if(strcmp(leader_name,leader[j].name)==0)
//是leader_name不是leader_leader. 用strcmp的返回值判断是否等于0. leader[j].count++; } printf("\n"); for(i=0;i<2;i++) printf("%5s:%d\n",leader[i].name ,leader[i].count ); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯