用c语言编程 求200-300之间满足个位 十位 百位三个数的积为42和为12
时间: 2023-05-18 21:03:34 浏览: 80
以下是满足条件的代码:
#include <stdio.h>
int main() {
int i, j, k;
for (i = 2; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
if (i * j * k == 42 && i + j + k == 12) {
printf("%d%d%d\n", i, j, k);
}
}
}
}
return 0;
}
输出结果为:
123
213
231
312
321
这些数字的个位、十位、百位分别相乘得到的积为42,它们的个位、十位、百位相加的和为12。
相关问题
用C语言编写 输入一个三位数 x,分别求出 x 的个位数字,十位数字,百位数字的值
好的,这是一个关于编程的问题。以下是使用C语言编写的代码,用于分别获取一个三位数x的个位数,十位数和百位数:
```c
#include <stdio.h>
int main() {
int x, hundreds, tens, ones;
printf("请输入一个三位数:");
scanf("%d", &x);
hundreds = x / 100;
tens = (x / 10) % 10;
ones = x % 10;
printf("百位数字是:%d\n", hundreds);
printf("十位数字是:%d\n", tens);
printf("个位数字是:%d\n", ones);
return 0;
}
```
输入一个三位数x,程序会首先通过除以100获取百位数字,然后通过模10获取个位数字,最后通过x除以10取模再除以10获取十位数字。最后程序会输出三个数字的值。
c语言编程输出100-1000之间的水仙花数。利用自定义函数sxh(),功能判断一个三位数是否是水仙花数。
可以使用以下代码实现:
```c
#include <stdio.h>
int sxh(int n) {
int sum = 0;
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == n) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
int main() {
for (int i = 100; i <= 1000; i++) {
if (sxh(i)) {
printf("%d ", i);
}
}
return 0;
}
```
首先定义一个自定义函数 `sxh()`,传入一个整数参数 `n`,表示要判断的数字。
在 `sxh()` 函数中,使用 while 循环,取出 n 的个位、十位和百位数字,求它们的立方和。如果和等于 n,说明 n 是水仙花数,返回 1,否则返回 0。
在主函数中,从 100 到 1000 的范围内循环每个数字,调用 `sxh()` 函数判断是否是水仙花数,如果是,就输出该数。