结构体数组:打印学生记录

版权声明:转载请注明出处 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);
}

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/88070193