学生的记录由学号、姓名、C语言成绩组成,根据班级人数,将学生记录存放在结构体数组中。请编程实现将C语言成绩转换成等级制(五级制),输出所有学生的记录:学号、姓名、C语言等级,并将其保存到文件中。要求:班级人数、学生记录均由键盘输入
#include<stdio.h>
struct student{
long int number;
char name[10];
int score[2];
};struct student input()
{struct student stud;
int i;
printf("学号:");
scanf("%ld",&stud.number);
printf("姓名:");
scanf("%s",stud.name);
printf("两门成绩:");
for(i=0;i<2;i++)
scanf("%d",&stud.score[i]);
return stud;
}
void print(struct student stud)
{int i;
printf("%ld\t",stud.number);
printf("%s\t",stud.name);
for(i=0;i<2;i++)
printf("%d\t",stud.score[i]);
printf("\n");
}
void main()
{ int i;
struct student stu[3];
for(i=0;i<3;i++)
stu[i]=input();
printf("\n学号 姓名 c语言 排名组成");
for(i=0;i<3;i++)
print(stu[i]);
}
关于#C语言#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 天际的海浪 2022-06-11 22:26关注
你题目的解答代码如下:
#include <stdio.h> struct student { long int number; char name[10]; int score; char level; }; struct student input() { struct student stud; int i; printf("学号:"); scanf("%ld", &stud.number); printf("姓名:"); scanf("%s", stud.name); printf("C成绩:"); scanf("%d", &stud.score); if (stud.score>=90) stud.level = 'A'; else if (stud.score>=80) stud.level = 'B'; else if (stud.score>=70) stud.level = 'C'; else if (stud.score>=60) stud.level = 'D'; else stud.level = 'E'; return stud; } void print(struct student stud) { int i; printf("%ld\t", stud.number); printf("%s\t", stud.name); printf("%d\t", stud.score); printf("%c\t", stud.level); printf("\n"); } void save(struct student stu[],int n) { FILE* fp; int i; if ((fp = fopen("stu.txt", "w")) == NULL) { printf("cannot open file\n"); return; } fprintf(fp,"学号\t姓名\tc语言\t等级\n"); for (i = 0; i < n; i++) { fprintf(fp,"%ld\t", stu[i].number); fprintf(fp,"%s\t", stu[i].name); fprintf(fp,"%d\t", stu[i].score); fprintf(fp,"%c\t", stu[i].level); fprintf(fp,"\n"); } fclose(fp); } void main() { int i,n; printf("请输入班级人数:"); scanf("%d", &n); struct student stu[n]; for (i = 0; i < n; i++) stu[i] = input(); printf("\n学号\t姓名\tc语言\t等级\n"); for (i = 0; i < n; i++) print(stu[i]); save(stu,n); }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 AT89C51控制8位八段数码管显示时钟。
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题