题目描述
现有有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>
#include <malloc.h>
typedef struct _student_info_
{
char s_id[10]; //学号
char s_name[32]; //姓名
int s_score[3]; //三科成绩
}student_info;
int main()
{
student_info *list[100] = {NULL};
for(int i = 0;i < 100;i++)
list[i] = (student_info *)malloc(sizeof(student_info));
int count;
scanf("%d",&count);
for(int i = 0;i < count; i++)
{
scanf("%s %s %d %d %d", &list[i]->s_id, &list[i]->s_name,
&(list[i]->s_score[0]), &(list[i]->s_score[1]), &(list[i]->s_score[2]));
}
for(int i = 0;i < count; i++)
{
printf("%s,%s,%d,%d,%d\n", list[i]->s_id, list[i]->s_name,
list[i]->s_score[0], list[i]->s_score[1], list[i]->s_score[2]);
}
for(int i = 0;i < 10;i++)
free(list[i]);
return 0;
}
#include <stdio.h>
#include <malloc.h>
typedef struct _student_info_
{
char s_id[10]; //学号
char s_name[32]; //姓名
int s_score[3]; //三科成绩
}student_info;
int main()
{
int count;
scanf("%d",&count);
student_info **list = (student_info **)malloc(count * sizeof(student_info*));
for (int i = 0; i < count; i++) {
list[i] = (student_info *)malloc(sizeof(student_info));
}
for(int i = 0;i < count; i++)
{
scanf("%s %s %d %d %d", &list[i]->s_id, list[i]->s_name,\
&(list[i]->s_score[0]), &(list[i]->s_score[1]), &(list[i]->s_score[2]));
}
for(int i = 0;i < count; i++)
{
printf("%s,%s,%d,%d,%d\n", list[i]->s_id, list[i]->s_name,\
list[i]->s_score[0], list[i]->s_score[1], list[i]->s_score[2]);
}
for(int i = 0;i < count;i++)
free(list[i]);
return 0;
}