1·定义一个学生结构体数组stu[10],结构体类型struct student
{
int num;//成员num (学号)的类型为整型
char name[21];//成员name (姓名)的类型为字符数组
char sex;//成员sex(性别)的类型为字符型
int age; //成员score(分数)的类型为double类型
};
2﹑从键盘输入10结构体变量的值,并输出
3﹑从键盘输入学号,查找是否有该学生,若找到输出结构体变量的值,否则输出未找到○
在线等,急
#include <stdio.h>
#define N 10
typedef struct student {
char name[21];//成员name (姓名)的类型为字符数组
char sex;//成员sex(性别)的类型为字符型
int age; //成员score(分数)的类型为double类型
}stu;
void show(stu a[],int n) {
for(int i = 0; i < n; ++i)
printf("%d\t%d\t%s\t%c\t%d\n",i + 1,a[i].num,a[i].name,a[i].sex,a[i].age);
printf("\n\n");
}
int find(stu a[],int n,int num) {
for(int i = 0; i < n; ++i) {
if(a[i].num == num) {
printf("%d\t%s\t%c\t%d\n",a[i].num,a[i].name,a[i].sex,a[i].age);
return i;
}
}
return 0;
}
int main() {
int i,num;
stu a[N];
for(i = 0;i < N; ++i) {
scanf("%d",&a[i].num,a[i]);
fflush(stdin);
scanf("%s",a[i].name);
fflush(stdin);
scanf("%c",&a[i].sex);
scanf("%d",&a[i].age);
}
show(a,N);
printf("请输入待查学号:");
scanf("%d",&num);
if(!find(a,N,num)) printf("\n没有找到学号为%d的学生!\n",num);
return 0;
}
追问我想知道这程序要怎么运行,因为我打出来可以运行但用不了就不能像你图片上那样
追答输入过程太长,这里无法显示,只截取了部分内容。运行方法是按结构成员的顺序输入各个数据,共10个。