解题思路:输入-冒泡法-输出
注意事项:字符串的比较不能直接大小写
参考代码:
#include<stdio.h>
#include<string.h>
typedef struct student{
char id[20];
int mark;
}stu;
stu a[21];
int main()
{
int n,k,j,i,p;
int temp;
char ID[20];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d\n",&a[i].id,&a[i].mark);
}
for(j=1;j<i;j++)
{
for(k=0;k<i-j;k++)
{
if(a[k].mark<a[k+1].mark)
{
temp=a[k].mark;
a[k].mark=a[k+1].mark;
a[k+1].mark=temp;
strcpy(ID,a[k].id);
strcpy(a[k].id,a[k+1].id);
strcpy(a[k+1].id,ID);
}
if(a[k].mark==a[k+1].mark)
{
if(strcmp(a[k].id,a[k + 1].id) > 0)//字符串比较函数
{
temp=a[k].mark;
a[k].mark=a[k+1].mark;
a[k+1].mark=temp;
strcpy(ID,a[k].id);
strcpy(a[k].id,a[k+1].id);
strcpy(a[k+1].id,ID);
}
}
}
}
for(p=0;p<n;p++)
{
printf("%s %d\n",a[p].id,a[p].mark);
}
return 0;
}
0.0分
2 人评分
A+B for Input-Output Practice (V) (C++代码)浏览:485 |
ASCII帮了大忙浏览:797 |
输出正反三角形 (C语言代码)浏览:859 |
程序员的表白 (C语言代码)浏览:706 |
wu-理财计划 (C++代码)浏览:907 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:630 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1359 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:477 |
明明的随机数 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:456 |