c/c++的一道简单题

自学c语言遇到一题不会,求解决思路!

img

刚学完c语言基础,尽量不要用数组或字符串,谢谢!

https://github.com/TheWindbell07/aoapcKeys/blob/main/2-6.cpp

枚举abc三位数就是从0到999
当你知道abc是什么,def,ghi是什么也知道了
然后看一下有没有出现重复的数字

#include <stdio.h>
 
int main()
{
    for (int i = 123; i <= 987; i++)
    {
        int j = i * 2;
        int k = i * 3;
        if (k > 987) break;
        int a1 = i % 10;
        int b1 = i / 10 % 10;
        int c1 = i / 100;
        int a2 = j % 10;
        int b2 = j / 10 % 10;
        int c2 = j / 100;
        int a3 = k % 10;
        int b3 = k / 10 % 10;
        int c3 = k / 100;
        if (a1 != b1 && a1 != c1 && a1 != a2 && a1 != b2 && a1 != c2 && a1 != a3 && a1 != b3 && a1 != c3 &&
            b1 != c1 && b1 != a2 && b1 != b2 && b1 != c2 && b1 != a3 && b1 != b3 && b1 != c3 &&
            c1 != a2 && c1 != b2 && c1 != c2 && c1 != a3 && c1 != b3 && c1 != c3 &&
            a2 != b2 && a2 != c2 && a2 != a3 && a2 != b3 && a2 != c3 &&
            b2 != c2 && b2 != a3 && b2 != b3 && b2 != c3 &&
            c2 != a3 && c2 != b3 && c2 != c3 &&
            a3 != b3 && a3 != c3 &&
            b3 != c3 &&
            a1 != 0 && a2 != 0 && a3 != 0 && b1 != 0 && b2 != 0 && b3 != 0 && c1 != 0 && c2 != 0 && c3 != 0)
            printf("%d %d %d\n", i, j, k);
    }
    return 0;
}

192 384 576
219 438 657
273 546 819
327 654 981

img

要简洁这样可以不,不用数组又不用字符串那有点麻烦啊,
仅供参考,谢谢!

img

#include<stdio.h>
#include<string.h>
int main()
{
    int a, b, c;
    char s[10] = { '\0' };
    const char ss[] = "123456789";
    for (int i = 123; i < 330; i++)
    {
        a = i;
        b = i * 2;
        c = i * 3;
        sprintf(s, "%d%d%d", a, b, c);
        if (strspn(ss, s) == 9)
            printf("%d %d %d\n", a, b, c);
    }
    puts("");
     return 0;
}

【以下回答由 GPT 生成】

思路:

  1. 首先,可以定义一个函数来实现对输入整数的判断和输出的功能。
  2. 在函数内部,判断输入的整数n是否小于0,如果是,则直接输出"负数"。
  3. 如果输入的整数n等于0,输出"零"。
  4. 如果输入的整数n大于0,通过对n取余2的操作,判断n是否为奇数。
  5. 如果n对2取余的结果为1,输出"奇数"。
  6. 如果n对2取余的结果为0,输出"偶数"。

以下是c语言的示例代码:

#include <stdio.h>

void checkNumber(int n) {
    if (n < 0)
        printf("负数\n");
    else if (n == 0)
        printf("零\n");
    else {
        if (n % 2 == 1)
            printf("奇数\n");
        else
            printf("偶数\n");
    }
}

int main() {
    int number;
    printf("请输入一个整数:");
    scanf("%d", &number);
    checkNumber(number);
    return 0;
}

使用示例:

请输入一个整数:10
输出结果:偶数

请输入一个整数:5
输出结果:奇数

请输入一个整数:-2
输出结果:负数

请输入一个整数:0
输出结果:零

希望以上代码和解决思路能够帮助到您!如果有任何疑问,请随时提出。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^