📅  最后修改于: 2023-12-03 14:48:14.096000             🧑  作者: Mango
URI BeeCrowd 问题 No. 1133 要求我们编写一个程序,该程序将从键盘读入两个整数,然后按升序依次打印这两个整数之间的所有整数,但需要跳过整数中在 5 除外的数字。也就是说,如果数字是 5 的倍数,我们应该跳过它,但对于 5 的倍数和含有数字 5 的整数以外的其他整数,我们应该按顺序打印它们。
我们可以通过循环从键盘读取输入的两个整数。首先,我们需要确定这两个数字中哪个是更小的数字。然后我们可以从小的数字开始循环到更大的数字,并对每个数字进行检查是否为 5 的倍数或包含数字 5。如果数字不是 5 的倍数也不包含数字 5,则我们将其输出。如果它是 5 的倍数或包含数字 5,则我们将跳过该数字。我们将使用 for
循环从小到大循环遍历整数范围。
下面是完整的 C 代码:
#include <stdio.h>
int main() {
int a, b, i, temp;
scanf("%d %d", &a, &b);
if(b < a) {
temp = a;
a = b;
b = temp;
}
for(i = a+1; i < b; i++) {
if(i % 5 != 0 && i % 10 != 5) {
printf("%d\n", i);
}
}
return 0;
}
注意,我们使用了 scanf()
函数从键盘读取输入。此外,我们使用了一个 temp
变量来交换输入的数字,以便始终使 a
是更小的数字。for
循环从 a
的下一个整数开始并遍历到 b
的前一个整数。我们使用 if
语句来跳过数字 5 的倍数或包含数字 5 的数字。最后,我们使用 printf()
函数将结果打印到屏幕上。
本文介绍了如何解决 URI BeeCrowd 问题 No. 1133,即按升序打印两个数之间的所有数字,并跳过 5 的倍数和包含数字 5 的整数。我们使用了一个循环和一些基本的条件语句来实现这个功能。