习题3-1 比较大小 (10分)
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include<stdio.h>
int main()
{
int a[3],temp;
for(int i=0;i<3;i++)
{
if(scanf("%d ",&a[i])){};
}
for(int x=0;x<2;x++)
{
for(int y=0;y<2-x;y++)
{
if(a[y]>a[y+1])
{
temp=a[y+1];
a[y+1]=a[y];
a[y]=temp;
}
}
}
printf("%d->%d->%d",a[0],a[1],a[2]);
return 0;
}
两种思路,一种使用冒泡排序,如上代码所示,其中输入那种写法是为了避免PTA报warning,具体原因见以前我写的一个博文
第二种思路比较简单除暴,可能C语言初学者更适合,更容易理解和想到。a、b、c三个整数分三种情况,a>b&&a>c、b>a&&b>c、c>a&&c>b,分别再在这三种情况下各自判断剩下的两个整数的大小,如第一个判断b>c,再根据情况使用printf输出即可。