#include
typedef struct TeachInfo {
char name[20];
char sex[3];
int age;
double wages;
}teachInfo;
int main() {
teachInfo teach_info[5] = {{"","",0,0},{"王丽","女",31,3523.50},{"","",0,0},{"","",0,0},{"黄胜利","男",45,4900.46}};
int i;
printf("请输入其他三位老师的的信息:\n");
printf("第一位老师的信息(空格隔开):");
scanf("%s%s%d%lf",teach_info[0].name,teach_info[0].sex,&teach_info[0].age,&teach_info[0].wages);
printf("第二位老师的信息(空格隔开):");
scanf("%s%s%d%lf",teach_info[2].name,teach_info[2].sex,&teach_info[2].age,&teach_info[2].wages);
printf("第三位老师的信息(空格隔开):");
scanf("%s%s%d%lf",teach_info[3].name,teach_info[3].sex,&teach_info[3].age,&teach_info[3].wages);
for(i = 0; i < 5; ++i) {
printf("%s\t%s\t%d\t%.2lf\n",teach_info[i].name,teach_info[i].sex,teach_info[i].age,teach_info[i].wages);
}
return 0;
}
1. 结构体
struct teachInfo
{
char *name; // 教师姓名
char *sex; // 性别
int age; // 年龄
float salary; // 薪水
}
2. 定义结构体数组
struct teachInfo teach_info[5];
for(int i = 1; i < 5; i++)
{
scanf("%s", teach_info[i].name);
scanf("%s", teach_info[i].sex);
scanf("%d", &teach_info[i].age);
scanf("%f", &teach_info[i].salary);
}
3. 赋值
strcpy(teach_info[0].name, "张三");
strcpy(teach_info[0].sex, "男");
teach_info[0].age = 40;
teach_info[0].salary = 5203.4;
teach_info[2], teach_info[3]以此类推。
4. 输出
printf("教师姓名\t性别\t年龄\t薪水\n");
for(int i = 0; i < 5; i++)
{
printf("%s\t%s\t%d\t%f\n", teach_info[i].name, teach_info[i].sex, teach_info[i].age, teach_info[i].salary);
}