定义一个学生信息结构体,包含姓名,3门课程成绩,性别和出生年月(出生年月为年、月、日为成员的结构体),声明一个结构体数组,包含5个元素,从键盘输入数据,找出总分最大的一个学生,并输出他的信息,将全班按照总分升序排列(选择法),并输出排序前后的信息,要求输入、输出、查找和排序使用函数实现。
建议自行设计源码。
然后发生解决不了的问题再求助。
参考一下:
/* Note:Your choice is C IDE */
#include "stdio.h"
#define N 2
struct Student
{
//学号
int num; //成员变量或者一个数据项
//姓名
char name[20];
//性别
char sex; //M,F
//成绩
float html;
float ppt;
float cyuyan;
float sum;
}st[N];
void input();
void display();
void main()
{
input();
display();
}
//输入函数
void input()
{
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的学号,姓名,性别,html,ppt,cyuyan:",i+1);
scanf("%d",&st[i].num);
scanf("%s ",st[i].name);
scanf("%c ",&st[i].sex);
scanf("%f",&st[i].html);
scanf("%f",&st[i].ppt);
scanf("%f",&st[i].cyuyan);
st[i].sum = st[i].html+st[i].ppt+st[i].cyuyan;
}
}
//输出
void display()
{
int i;
printf("学号\t姓名\t\t性别\thtml\tppt\tC语言\t总分\t平均分\n");
for(i=0;i<N;i++)
{
printf("%d\t%s\t%c\t%0.2f\t%0.2f\t%0.2f\t%0.2f\t%0.2f\n",st[i].num,st[i].name,st[i].sex,st[i].html,st[i].ppt,st[i].cyuyan,st[i].sum,st[i].sum/3);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632