习题3-1 比较大小 (10分)本题要求将输入的任意3个整数从小到大输出

习题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输出即可。

发布了21 篇原创文章 · 获赞 2 · 访问量 3385

猜你喜欢

转载自blog.csdn.net/weixin_44164333/article/details/104526121