解题思路:结构体知识,及排序方法
注意事项:思路理清,哪一个比较重要
参考代码:
#include<stdio.h>
struct student
{
int num;//学号
int a,b,c;//三科成绩
int sum;//总分
};
int main()
{
int n;
scanf("%d",&n);
struct student st[n+1],t;
int i,j;
for(i=1;i<=n;i++)
{
scanf("%d %d %d",&st[i].a,&st[i].b,&st[i].c);
st[i].num=i;
st[i].sum=st[i].a+st[i].b+st[i].c;
}
//排序
for(i=1;i<=n-1;i++)
{
for(j=1;j<=n-i;j++)
{
if(st[j].sum<st[j+1].sum)
{
t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
if(st[j].sum==st[j+1].sum)
{
if(st[j].a<st[j+1].a)
{
t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
if(st[j].a==st[j+1].a)
{
if(st[j].num>st[j+1].num)
{
t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
}
}
}
}
for(i=1;i<=5;i++)
printf("%d %d\n",st[i].num,st[i].sum);
return 0;
}
0.0分
2 人评分
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:468 |
字符串输入输出函数 (Java代码)浏览:1437 |
字符串对比 (C语言代码)浏览:1401 |
校门外的树 (C语言代码)浏览:957 |
DNA (C语言描述,数据结构)浏览:852 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:534 |
完数 (C语言代码)浏览:686 |
1113题解浏览:784 |
P1000 (C语言代码)浏览:870 |
printf基础练习2 (C语言代码)浏览:503 |