gpt4 book ai didi

c - 如何从未知的数字中打印 2 个最小的数字

转载 作者:行者123 更新时间:2023-11-30 19:03:30 24 4
gpt4 key购买 nike

我需要用 C 语言编写代码的帮助

我需要编写一段代码,从用户那里获取未知数字(最多INT_MAX)并打印其中的两个最小数字。

谁能帮我写一下代码吗?在网上搜索了大约一个小时。

到目前为止我得到的最好的是:

#include <stdio.h>
#include <limits.h>

void main()
{
int num, min1 = INT_MAX, min2 = INT_MAX;
int temp1 = 0, temp2 = 0;

printf("Plese enter your numbers:\n");

do
{
scanf("%d\n", &num);
temp1 = num;
temp2 = num;

if ((temp1 < min1) && (temp1 > 0));
{
min1 = num;
}

if ((temp2 < min2) && (temp2 > 0))
{
min2 = temp2;
}

} while (num != 0);

printf("%-5d%5d\n\n", min1, min2);
}

最佳答案

#include <limits.h>
#include <stdio.h>

int main()
{
int m1, m2, num;
m1 = m2 = INT_MAX;
while(scanf("%d", &num) == 1)
{
if(num < m1)
{
m2 = m1;
m1 = num;
}
else if(num < m2)
{
m2 = num;
}
}
printf("%d and %d\n", m1, m2);
return 0;
}

scanf("%d", &num); 读取一个 int 并返回成功读取的参数数量。所以只要读取到一个int,就会继续循环。要退出循环,您可以在终端中输入 ^X (EOF)。

关于c - 如何从未知的数字中打印 2 个最小的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com