L1-010 比较大小

L1-010 比较大小

分数 10

作者 杨起帆

单位 浙大城市学院

本题要求将输入的任意3个整数从小到大输出。

输入格式:

输入在一行中给出3个整数,其间以空格分隔。

输出格式:

在一行中将3个整数从小到大输出,其间以“->”相连。

输入样例:

4 2 8

输出样例:

2->4->8

代码长度限制

16 KB

时间限制

400 ms

部分正确的代码:

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b)
    {
        int temp=a;
        a=b;
        b=temp;
    }
    if(b>c)
    {
        int temp=b;
        b=c;
        c=temp;
    }
    if(a>c)
    {
        int temp=a;
        a=c;
        c=temp;
    }
    printf("%d->%d->%d",a,b,c);
    return 0;
}

部分正确的原因:代码只确保了a是三者中最小的,但并没有确保b是中间值,c是最大值

正确代码:采用冒泡排序算法,先找最小的作为a再比较b和c

#include<stdio.h>  
  
int main() {  
    int a, b, c;  
    int temp;  
      
    scanf("%d %d %d", &a, &b, &c);  
      
    // 确保a是最小的  
    if (a > b) {  
        temp = a;  
        a = b;  
        b = temp;  
    }  
    if (a > c) {  
        temp = a;  
        a = c;  
        c = temp;  
    }  
    // 现在a是最小的,比较b和c来确定中间值和最大值  
    if (b > c) {  
        temp = b;  
        b = c;  
        c = temp;  
    }  
      
    printf("%d->%d->%d\n", a, b, c);  
    return 0;  
}

内存限制

64 MB

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值