鱼C论坛

 找回密码
 立即注册
查看: 659|回复: 6

求助

[复制链接]
发表于 2024-4-16 21:19:13 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有三个数a,b,c,要求按顺序大小输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-16 21:19:22 | 显示全部楼层
你好!要按顺序输出三个数a,b,c,我们可以使用条件语句来比较它们的大小,并进行相应的输出。以下是一个示例代码:
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))

if a <= b <= c:
    print(a, b, c)
elif a <= c <= b:
    print(a, c, b)
elif b <= a <= c:
    print(b, a, c)
elif b <= c <= a:
    print(b, c, a)
elif c <= a <= b:
    print(c, a, b)
else:
    print(c, b, a)

在这里,我们使用`input()`函数让用户输入三个数字,并将其转换为整数类型。然后,我们使用一系列的条件语句(`if`,`elif`和`else`)来比较它们的大小并进行输出。每个条件语句中的条件都是由两个关系运算符连起来的(<=表示小于等于)。根据比较结果,我们分别输出三个数字。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-16 21:20:10 From FishC Mobile | 显示全部楼层
FishC 发表于 2024-4-16 21:19
你好!要按顺序输出三个数a,b,c,我们可以使用条件语句来比较它们的大小,并进行相应的输出。以下是一个 ...

请用c语言
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-16 21:20:22 | 显示全部楼层


当然,以下是使用C语言的示例代码:
#include <stdio.h>

int main() {
    int a, b, c;
  
    printf("请输入第一个数字:");
    scanf("%d", &a);
    printf("请输入第二个数字:");
    scanf("%d", &b);
    printf("请输入第三个数字:");
    scanf("%d", &c);
  
    if (a <= b && a <= c) {
        printf("%d ", a);
        if (b <= c) {
            printf("%d %d", b, c);
        } else {
            printf("%d %d", c, b);
        }
    } else if (b <= a && b <= c) {
        printf("%d ", b);
        if (a <= c) {
            printf("%d %d", a, c);
        } else {
            printf("%d %d", c, a);
        }
    } else {
        printf("%d ", c);
        if (a <= b) {
            printf("%d %d", a, b);
        } else {
            printf("%d %d", b, a);
        }
    }
  
    return 0;
}

该程序首先提示用户输入三个数字,然后使用条件语句将它们按顺序输出。判断逻辑是通过比较大小来确定最小、中间和最大的数字,并相应地进行输出。注意在C语言中使用`scanf`函数读取用户输入,以及使用`printf`函数输出结果。

希望对你有所帮助!如果有任何问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-16 21:24:51 From FishC Mobile | 显示全部楼层
FishC 发表于 2024-4-16 21:20
当然,以下是使用C语言的示例代码:



c语言数组可以解决吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-16 21:25:04 | 显示全部楼层
彩笔凡 发表于 2024-04-16 21:24
c语言数组可以解决吗?


是的,你可以使用C语言中的数组来解决这个问题。以下是一个使用数组的示例代码:
#include <stdio.h>

int main() {
    int nums[3];
    int i, j, temp;

    // 输入三个数字
    for (i = 0; i < 3; i++) {
        printf("请输入第%d个数字:", i + 1);
        scanf("%d", &nums[i]);
    }

    // 冒泡排序按顺序输出
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 2 - i; j++) {
            if (nums[j] > nums[j + 1]) {
                temp = nums[j];
                nums[j] = nums[j + 1];
                nums[j + 1] = temp;
            }
        }
    }

    // 输出排序后的结果
    printf("按顺序大小输出结果为:");
    for (i = 0; i < 3; i++) {
        printf("%d ", nums[i]);
    }

    return 0;
}

这段代码使用了冒泡排序算法来按照从小到大的顺序对输入的三个数字进行排序,并输出排序后的结果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-16 23:57:59 | 显示全部楼层
本帖最后由 jackz007 于 2024-4-17 01:54 编辑
#include <stdio.h>

int main(void)
{
        int a , b , c , v1 , v2 , v3                         ;
        printf("输入 3 个数值:")                            ;
        scanf("%d%d%d" , & a , & b , & c)                    ;
        v1 = (a < b && a < c) ? a : (b < a && b < c) ? b : c ; // 找出最小值
        v3 = (a > b && a > c) ? a : (b > a && b > c) ? b : c ; // 找出最大值
        v2 = a + b + c - v1 - v3                             ; // 算出中间值
        printf("%d, %d, %d\n" , v1 , v2 , v3)                ;
}
        编译、运行实况:
D:\[exercise]\C>g++ -o x x.c

D:\[exercise]\C>x
输入 3 个数值:88 2 35
2, 35, 88

D:\[exercise]\C>x
输入 3 个数值:88 35 2
2, 35, 88

D:\[exercise]\C>x
输入 3 个数值:35 88 2
2, 35, 88

D:\[exercise]\C>
       采用数组的版本:
#include <stdio.h>

int main(void)
{
        int d[256] , e[256] , i                              ;
        printf("输入 3 个数值:")                            ;
        scanf("%d%d%d" , & d[0] , & d[1] , & d[2])           ;
        for(i = 0 ; i < 3 ; i ++) e[i] = 0                   ;
        for(e[0] = e[2] = 0 , i = 1 ; i < 3 ; i ++) {
                if(d[i] < d[e[0]]) e[0] = i                  ; // 找到最小值的索引
                if(d[i] > d[e[2]]) e[2] = i                  ; // 找到最大值的索引
        }
        e[1] = 3 - e[0] - e[2]                               ; // 算出中间值的索引
        printf("%d, %d, %d\n" , d[e[0]] , d[e[1]] , d[e[2]]) ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 01:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表