C语言:结构体的编程问题(很简单)

先定义一个结构体Student,它包含四个成员:学号(number)、姓名(name)、电话(telphone)、地址(address),然后定义一个结构体数组stu[3],输入3个学生的数据,再输出。运行结果如下图所示,请编程实现相应功能。

我的程序如下:(想修改一下用stu[3]定义,不知道怎么定义,用的是student1,student2,student3) 求指点。。

#include<stdio.h>
void main()
{struct student
{int number;
char name[20];
int telphone;
char address[20];
}student1,student2,student3;
printf("请输入第1个学生的信息:\n");
scanf("%d%s%d%s",&student1.number,student1.name,&student1.telphone,student1.address);
printf("\n");
printf("请输入第2个学生的信息:\n");
scanf("%d%s%d%s",&student2.number,student2.name,&student2.telphone,student2.address);
printf("\n");
printf("请输入第3个学生的信息:\n");
scanf("%d%s%d%s",&student3.number,student3.name,&student3.telphone,student3.address);
printf("\n");
printf("学生信息如下:\n");
printf("student num:%d name:%s telphone:%d address:%s \n",student1.number,student1.name,student1.telphone,student1.address);
printf("student num:%d name:%s telphone:%d address:%s \n",student2.number,student2.name,student2.telphone,student2.address);
printf("student num:%d name:%s telphone:%d address:%s \n",student3.number,student3.name,student3.telphone,student3.address);
printf("\n");
}

如何用stu[3]定义?
还有一个问题:要求与此题一样,程序的数据输入、输出改用以结构体数组为参数的函数void input(struct Student stu[], int n)、void
print(struct Student stu[], int n)来完成,在main()函数中调用这两个函数,以实现模块化程序设计。又怎么修改呢?

#include "stdio.h"
#include <stdlib.h>
#define SIZE 3

struct student{
int number;
char name[20];
int telphone;
char address[20];
} stu[SIZE];

void input() /* 输入学生的信息 */
{
int i;

for(i=0;i<SIZE;i++)
{
printf("请输入第%d个学生的信息:\n",i+1);
scanf("%d%s%d%s",&stu[i].number,stu[i].name,&stu[i].telphone,stu[i].address);
}
}

void print() /* 输出学生的信息 */
{
int i;

printf("学生信息如下:\n");
for(i=0;i<SIZE;i++)
printf("student num:%d name:%s telphone:%d address:%s\n",stu[i].number,stu[i].name,stu[i].telphone,stu[i].address);
}

void main()
{
input();
print();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-17
typedef struct student
{int number;
char name[20];
int telphone;
char address[20];
} stu;
stu a[3];本回答被网友采纳
相似回答