网站首页翻转效果什么模块,怎样建立公司网页,天津百度整站优化服务,wordpress edu 2.01.定义结构体
例 1#xff1a;把一个学生的信息(包括学号、姓名、性别、住址等 4 项信息) 放在一个结构体变量中#xff0c;然后输出这个学生的信息。
#include stdio.hstruct Student {int student_id;char name[30];char gender;char address[60];
};int main() …
1.定义结构体
例 1把一个学生的信息(包括学号、姓名、性别、住址等 4 项信息) 放在一个结构体变量中然后输出这个学生的信息。
#include stdio.hstruct Student {int student_id;char name[30];char gender;char address[60];
};int main() {struct Student a {1, Houge, M, Hua Guo Shan};printf(学号: %d\n, a.student_id);printf(名字: %s\n, a.name);printf(性别: %c\n, a.gender);printf(住址: %s\n, a.address);return 0;
}运行结果
例 2输入两个学生的学号、姓名和成绩输出成绩较高者的学号、姓名和成绩。若二者相等则输出两个学生的全部信息。
#include stdio.hstruct student
{int xuehao;char name[30];float chengji;
} a, b;int main()
{printf(请输入第一个学生的学号、姓名和成绩:\n);scanf(%d,%s,%f, a.xuehao, a.name, a.chengji);printf(请输入第二个学生的学号、姓名和成绩:\n);scanf(%d,%s,%f, b.xuehao, b.name, b.chengji);printf(成绩较高者的信息如下:\n);if (a.chengji b.chengji)printf(%d\t%s\t%f\n, a.xuehao, a.name, a.chengji);else if (a.chengji b.chengji)printf(%d\t%s\t%f\n, b.xuehao, b.name, b.chengji);else{printf(%d\t%s\t%f\n, a.xuehao, a.name, a.chengji);printf(%d\t%s\t%f\n, b.xuehao, b.name, b.chengji);}return 0;
}运行结果
2.结构体数组
例 1有三名学生的 3 项信息学号、姓名和成绩。请编程按成绩由高到低输出各学生的信息。
#include stdio.hstruct student
{int xuehao;char name[30];float chengji;
} xuesheng[3] {{001, HouBoShi, 99}, {002, ShaPaoZi, 20}, {003, ShaLeBaJi, 90}};int main()
{struct student linshi;int i, j;for (i 0; i 2; i){for (j i 1; j 3; j){if (xuesheng[j].chengji xuesheng[i].chengji){linshi xuesheng[i];xuesheng[i] xuesheng[j];xuesheng[j] linshi;}}}printf(排序后的各学生信息如下:\n);for (i 0; i 3; i){printf(%d\t%s\t%f\n, xuesheng[i].xuehao, xuesheng[i].name, xuesheng[i].chengji);}return 0;
}运行结果
3.使用结构体变量与指针变量
例 1键盘输入五名学生的信息(包括学号、姓名和 2 门课程的成绩)并输出平均分最高的学生的信息。
#include stdio.hstruct student
{int xuehao;char name[30];float fen1;float fen2;
} sheng[5];int main()
{struct student max(struct student a[]);struct student xueba;int i;for (i 0; i 4; i){printf(请输入第%d 名学生的学号、姓名和 2 门成绩:\n, i 1);scanf(%d,%s,%f,%f, sheng[i].xuehao, sheng[i].name, sheng[i].fen1, sheng[i].fen2);}xueba max(sheng);printf(平均分最高的学生的信息如下:\n);printf(学号:%d\n 姓名:%s\n2 门成绩:%f,%f\n, xueba.xuehao, xueba.name, xueba.fen1, xueba.fen2);return 0;
}struct student max(struct student a[])
{float pingjunfen[5];int i, zuigao;for (i 0; i 4; i){pingjunfen[i] (a[i].fen1 a[i].fen2) / 2;}for (zuigao 0, i 1; i 4; i){if (pingjunfen[zuigao] pingjunfen[i]){zuigao i;}}return (a[zuigao]);
}运行结果
4.结构体变量做函数参数
例 1把一个学生的信息(包括学号、姓名、性别 3 项信息)放在一个结构体变量中然后输出这个学生的信息。
#include stdio.hstruct student
{int xuehao;char name[30];char xingbie;
} a {001, Houge, M};int main()
{struct student *p;p a;printf(学号:%d\n 姓名:%s\n 性别:%c\n, p-xuehao, p-name, p-xingbie);return 0;
}运行结果
例 2有三名学生的 3 项信息学号、姓名和成绩。请编程按成绩由高到低输出各学生的信息。
#include stdio.hstruct student
{int xuehao;char name[30];float chengji;
} xuesheng[3] {{001, HouBoShi, 99}, {002, ShaPaoZi, 20}, {003, ShaLeBaJi, 90}};int main()
{struct student linshi, *p;p xuesheng[0];int i, j;for (i 0; i 2; i){for (j i 1; j 3; j){if ((*(p j)).chengji (*(p i)).chengji){linshi *(p i);*(p i) *(p j);*(p j) linshi;}}}printf(排序后的各学生信息如下:\n);for (i 0; i 3; i){printf(%d\t%s\t%f\n, (*(p i)).xuehao, (*(p i)).name, (*(p i)).chengji);}return 0;
}运行结果
七天完结本专栏只是根据所学进行整合可不能作为学会C语言的依据哦请大家期待下一个专栏~