永发信息网

c語言難題,超難

答案:3  悬赏:50  手机版
解决时间 2021-07-21 10:52

有10个同学的学号和成绩对应如下:

学号 200501 200502 200503 200504 200505 200506 200507 200508 200509 200510

成绩 68 55 58 78 82 67 75 92 66 74

写程序对成绩从大到小排序,然后输出排序后的学号以及对应的成绩,每个学生的学号和成绩占一行。
最佳答案

可以用结构体来做。


main()
{
struct student
{
int sid;
int sfs;
}stu[10],linshi;
int i,x,y;
for(i=0;i<10;i++)
{
y=i+1;
printf("Please input the %d id and fenshu\n",y);
scanf("%d,%d",&stu[i].sid,&stu[i].sfs);
}
for(i=9;i>=0;i--)
{
for(x=0;x<i;x++)
{
if(stu[x].sfs<stu[x+1].sfs)
{
linshi.sid=stu[x].sid;
linshi.sfs=stu[x].sfs;
stu[x].sid=stu[x+1].sid;
stu[x].sfs=stu[x+1].sfs;
stu[x+1].sid=linshi.sid;
stu[x+1].sfs=linshi.sfs;
}
}
}
for(i=0;i<10;i++)
{
printf("The %d student id is %d and fenshu is %d.\n",i,stu[i].sid,stu[i].sfs);
}
getch();
}


全部回答
这个简单撒

#include <stdio.h> #include <string.h> void main() { char id[10][10],t[10]; int sum[10],i,j,k;

for(i=0;i<10;i++)//循环输入学号和成绩. 以空格分隔. { scanf("%s%d",id[i],&sum[i]); }

for(i=0;i<=10;i++) { for(j=i+1;j<10;j++) { if(sum[i]<sum[j]) { //交换成绩. k=sum[i]; sum[i]=sum[j]; sum[j]=k; //交换姓名. strcpy(t,id[i]); strcpy(id[i],id[j]); strcpy(id[j],t); } } } printf("排序后:\n"); //为了区分输入和输出.所以加了这句. for(i=0;i<10;i++) { printf("%s %d\n",id[i],sum[i]); }

}

附图:

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ三国六级翅膀是怎样的!谁可以详细说说
wwe有什么好人?
芙蓉区长沙阿峰发型艺术雕塑空间地址是什么,
帮忙下载一下前几届的初二希望杯竞赛试题
小艾到底会不会退役啊?
QQ空间打开后是这样子的 空白的 我截了图的
电脑运行无显示
JJ的新专辑《100天》什么时候发行?
为什么我家DNF的一个QQ号进不去。
怎样可以使到贷款,利息便宜点的
在重要时刻如何克服心理紧张…
2012年6月湖南英语三级A考英语作文
华龙区濮阳中国人民财产保险中原油田支公司怎
联想Y450笔记本配置和性能好不?
已知语文,数学,外语的平均分为89分。数学为
推荐资讯
网上开店具备那些条件需要注意什么?
为什么腾讯的DNF不给我找回DNF的装备了?
孕妇身体不好要怎么办?
什么硬件影响我的游戏速度
雨湖区湘潭舌间品粉馆这个地址怎么能查询到,
跨地区使用银行卡,营业厅或ATM机取款,手续
QQ社区游戏精武堂怎么分配潜能?
宝丰县平顶山上过CCTV的宋记烤面筋地址是什么
什么含叶酸量最高?
葡萄是秋天的果实吗?
香坊区哈尔滨喜乐天下普通公寓(民生路店)这个
QQ华夏:用什么样的元魂崩龙去归元成始魂的好.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?