问题描述
现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100
输入输出格式:
输入:学生数量N占一行 每个学生的学号、姓名、三科成绩占一行,空格分开。
输出:每个学生的学号、姓名、三科成绩占一行,逗号分开。
样例:
2 a100 clang 70 80 90 b200 dotcpp 90 85 75
a100,clang,70,80,90 b200,dotcpp,90,85,75
解决方案:
#include<stdio.h>
struct student
{
char num[20];
char name[20];
int grade1;
int grade2;
int grade3;
};
void input(struct student st[],int N)
{
for(int i=0;i < N;i++)
{
scanf("%s%s%d%d%d",&st[i].num,&st[i].name,&st[i].grade1,&st[i].grade2,&st[i].grade3);
}
}
void print(struct student st[],int N)
{
for(int i=0;i < N;i++)
{
printf("%s,%s,%d,%d,%d\n",st[i].num,st[i].name,st[i].grade1,st[i].grade2,st[i].grade3);
}
}
int main()
{
int N;
scanf("%d",&N);
struct student st[N];
input(st,N); //这里传递参数时,只用传递变量名
print(st,N);
return 0;
}