输入一个非负32位有符号整数N,请你帮忙计算并输出该整数「各位数字之积」与「各位数字之和」的差。 例如N=234 各位数字之积= 2*3*4=24 各位数字之和=2+3+4=9 结果=15。c语言用循环写出
时间: 2024-10-25 11:04:40 浏览: 14
计算整数各位数字之和 C++中如何计算任何一个正整数的各位数字之和
在C语言中,我们可以使用一个循环结构来计算输入整数N的每一位数字之积和之和,然后求它们的差。这里是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int N, digit, product = 1, sum = 0;
// 输入非负32位有符号整数N
printf("请输入一个非负32位有符号整数N: ");
scanf("%d", &N);
while (N > 0) {
// 取出每一位数字
digit = N % 10;
// 累乘各位数字之积
product *= digit;
// 累加各位数字之和
sum += digit;
// 移除最低位
N /= 10;
}
// 计算差值并打印结果
int result = product - sum;
printf("各位数字之积与各位数字之和的差为: %d\n", result);
return 0;
}
```
这个程序首先读取用户输入的整数N,然后通过不断对N取模10并向下取整,获取每一位数字,并分别更新产品和和的值。最后,它会计算这两个值的差,并将结果输出。
阅读全文