在用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);
}
答案 0 :(得分:1)
#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)。