c语言按成绩和名字排序,c语言创建一个成绩单,里面输入名字和三门课程,并按总分高低排序,最后可以查询,输出想要的成绩...

满意答案

99120c43c127f6f3003aa3077a46c5c3.png

木斯皮尔翰

来自团队: 从C走起2020.02.29

99120c43c127f6f3003aa3077a46c5c3.png

采纳率:93%    等级:29

已帮助:18096人

下面是程序追答:这是程序

#include

#include

typedef struct student

{

char name[10];

int score[3],allscore;

}stu[100];

void input(int n)

{

struct student stu[100],t;

int k,m,c=1;

struct student student1;

for(k=0;k

{

scanf("%s%d%d%d",stu[k].name,&stu[k].score[0],&stu[k].score[1],&stu[k].score[2]); stu[k].allscore=stu[k].score[0]+stu[k].score[k]+stu[k].score[2];

}

//冒泡排序法,让成绩从高到低排序

for(k=1;k

{

for (m=0;m

{

if (stu[m].allscore

{

t=stu[m];

stu[m]=stu[m+1];

stu[m+1]=t;

}

}

}

printf ("\n");

printf ("******成绩单******\n");

for (k=0;k

{

printf("%s%d%d%d%d\n",stu[k].name,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].allscore); }

printf ("******************\n");

printf ("请输入你要找的学生:\n");

scanf ("%s",student1.name);

for (k=0;k

{

if (strcmp(student1.name,stu[k].name)==0)//由于是字符串不能直接相等,必须要用字符串工具

{

printf("%s%d%d%d%d",stu[k].name,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].allscore); c=0;//用来判断有没有这个学生

}

}

if (c==1)

{

printf ("没有这个人");

}

}

int main()

{

int n=5;

input(n);

return 0;

}

这个程序里主要的思想是结构体,只要有了结构体,对于数据的处理,实际上是很简单的

追答:

有些程序是在一行,但是这个上面不够宽,所以你运行的时候,自己调一下,谢谢

40分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值