📜  uri beecrowd 问题 no - 1133 解决方案 - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:48:14.096000             🧑  作者: Mango

URI BeeCrowd 问题 No. 1133 解决方案 - C 编程语言

问题描述

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 的整数。我们使用了一个循环和一些基本的条件语句来实现这个功能。