|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 牵风 于 2021-12-15 21:58 编辑
现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。编写一个函数input,用来输入一个学生的数据记录。编写一个函数print,打印一个学生的数据记录。在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100
输入
学生数量N占一行,每个学生的学号、姓名、三科成绩占一行,空格分开。
输出
每个学生的学号、姓名、三科成绩占一行,逗号分开。
样例输入 Copy
3
1101 clan 80 70 60
1102 blue 90 80 70
1103 xds 59 99 98
样例输出 Copy
1101,clan,80,70,60
1102,blue,90,80,70
1103,xds,59,99,98
本帖最后由 傻眼貓咪 于 2021-12-15 22:40 编辑
- #include <stdio.h>
- typedef struct{
- int a, b, c;
- }results;
- typedef struct{
- int id;
- char name[20];
- results res;
- }students;
- void input(int N, students *S){
- int a, c, d, e;
- char b[20];
- for(size_t i = 0; i < N; i++){
- scanf("%d%s%d%d%d", &a, b, &c, &d, &e);
- S[i].id = a;
- snprintf(S[i].name, 20, "%s", b);
- S[i].res.a = c;
- S[i].res.b = d;
- S[i].res.c = e;
- }
- }
- void print(int N, students *S){
- for(size_t i = 0; i < N; i++)
- printf("%4d,%-4s,%2d,%2d,%2d\n", S[i].id, S[i].name, S[i].res.a, S[i].res.b, S[i].res.c);
- }
- int main(){
- int N;
- scanf("%d", &N);
- students S[N];
- input(N, S);
- print(N, S);
- return 0;
- }
复制代码
|
|