本关任务:计算正整数num的各位上的数字之积。 例如: 输入:2583 经过----(2x5x8x3) 输出:240 输入:102 经过----(1x0x2) 输出:0 输入:136 经过----(1x3x6) 请把它的c语言代码写出来
时间: 2024-03-18 19:38:56 浏览: 157
好的,以下是计算正整数num的各位上的数字之积的C语言代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
int product = 1;
while (num > 0) {
int digit = num % 10;
if (digit != 0) {
product *= digit;
}
num /= 10;
}
printf("各位上的数字之积为:%d", product);
return 0;
}
```
代码的思路是,首先读入一个正整数num,然后我们使用while循环遍历num的每一位,计算出每一位上的数字之积。我们通过num % 10可以得到num的个位数字,然后将num除以10,相当于将num的个位数字去掉,继续计算下一位数字。如果遇到0,则不需要计入数字之积中,因为0乘任何数都等于0。最后输出数字之积即可。
相关问题
本关任务:计算正整数num的各位上的数字之积。 例如: 输入:2583 经过----(2x5x8x3) 输出:240 输入:102 经过----(1x0x2) 输出:0 输入:136 经过----(1x3x6) 输出:18
算法思路:
1. 读入正整数num;
2. 初始化变量ans为1;
3. while循环每次取num的个位数,将ans与该数字相乘后再将num除以10向下取整;
4. 当num为0时跳出循环,输出ans即可。
Python代码:
阅读全文