SLient_yang 2022-04-10 01:09 采纳率: 50%
浏览 997

输入一批整数,以0结尾,找出最大值和最小值

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

#include<stdio.h>

void main()

{
int x, max, min;

printf("请输入整数,以0结束");

scanf_s("%d", &x);

max = min = x;

while (x==0)

{
    if (max < x) max = x;

    if (min > x) min = x;

    while (x != 0);
    break;

}

printf("最大数是:%d,最小数是:%d\n", max, min);

}

运行结果及报错内容

输入一行整数结果运行出来最大值和最小值都是同一个数

我的解答思路和尝试过的方法
我想要达到的结果

输出最大值和最小值

  • 写回答

1条回答 默认 最新

  • aabyte 2022-04-10 01:24
    关注
    #include <stdio.h>
    typedef long long ll;
    int main(void)
    {
        ll ma = -2147483648, mi = 2147483647, res = 0;
        do
        {
            scanf("%lld",&res);
            ma = ma > res? ma: res;
            mi = mi < res? mi: res;
        }
        while(res != 0);
        printf("最大值:%lld\t最小值:%lld\n",ma,mi);
        return 0;
    }
    

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月10日