自学c语言遇到一题不会,求解决思路!
刚学完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
要简洁这样可以不,不用数组又不用字符串那有点麻烦啊,
仅供参考,谢谢!
#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 生成】
思路:
以下是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
输出结果:零
希望以上代码和解决思路能够帮助到您!如果有任何疑问,请随时提出。
【相关推荐】