| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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;
 
 - }
 
 
  复制代码 
 
 
 |   
 
 
 
 |