版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/88070193
注意
输入学生记录时,要分开写,一个一个输入
错误写法
scanf("%s,%s,%d,%d",grade[i].num,grade[i].name,&grade[i].score[0],&grade[i].score[1])
题目
input函数输入学生记录
print函数打印学生记录
主函数调用打印和输入函数
代码
#include <stdio.h>
//自己定义结构体数组(相当于顺序表定义)
typedef struct {
char num[6]; //学号
char name[20]; //姓名
int score[2]; //两门课的分数
} Student;
// 输入学生记录
void input(Student grade[],int n) {
int i;
for(i=0; i<n; i++) {
//错误写法:scanf("%s,%s,%d,%d",grade[i].num,grade[i].name,&grade[i].score[0],&grade[i].score[1])
printf("学号:");
scanf("%s",grade[i].num);
printf("姓名:");
scanf("%s",grade[i].name);
printf("科目1成绩:");
scanf("%d",&grade[i].score[0]);
printf("科目2成绩:");
scanf("%d",&grade[i].score[1]);
}
}
//打印学生记录
void print(Student grade[],int n) {
int i;
for(i=0; i<n; i++)
printf("学号:%s,姓名:%s,科目1成绩:%d,科目2成绩:%d\n",grade[i].num,grade[i].name,grade[i].score[0],grade[i].score[1]);
}
void main() {
Student grade[3];
input(grade,3);
print(grade,3);
}