习题3-1 比较大小 (10 分)
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
写法简单,但代码过于重复
#include <stdio.h>
int main()
{
int a,b,c,i=0,j=0,k=0;
scanf("%d %d %d",&a,&b,&c) ;
if(a<=b && a<=c){
i=a;
if (b<=c){
j=b;
k=c;
}else {
j=c;
k=b;
}
}else if(b<=c)
{
i=b;
if(a<=c){
j=a;
k=c;
}else {
j=c;
k=a;
}
}else
{
i=c;
if(a<=b){
j=a;
k=b;
}else{
j=b;
k=a;
}
}
printf("%d->%d->%d",i,j,k);
return 0;
}
解法二:
冒泡排序
#include <stdio.h>
int main()
{
int a[3];
int i,bao=0,j;
for (i=0;i<3;i++){
scanf("%d",&a[i]);
}
for(i=0;i<2;i++){
for(j=0;j<2-i;j++){
if(a[j]>a[j+1]){
bao = a[j];
a[j]=a[j+1];
a[j+1]=bao;
}
}
}
for (i=0;i<3;i++){
if(i==2){
printf("%d",a[i]);
}
else
{
printf("%d->",a[i]);
}
}
return 0;