c语言程序填空功能:求一个n位自然数的各位数字的积。(n 是小于10的自然数)例如:输入:12345678,输出:40320
long fun(long n)
{
long prod = 1;
while (n != 0)
{
prod *= n % 10;
n /= 10;
}
return prod;
}
可以使用循环实现。
补充如下:
#include <stdio.h>
long fun(long n){
long result =1; //存储乘积的变量初始化为1
if(n==0){ // 如果n为0,则返回0
return 0;
}
while(n!=0){ // 如果n不等于0,则依次将n的各位累乘到积result中
result*=n%10; // 将n的个位累乘到result中
n/=10; // n除以10,以便提取n的下一位数字
}
// 返回结果
return result;
}
int main(void){
long m;
printf("Enter m:");
scanf("%ld",&m);
printf("The result is %ld\n",fun(m));
return 0;
}
第一行输入要输的元素个数,比如5
第二行输入 1 2 2 3 2,那么输出结果为3,因为2出现了3次
如下所示:
5
1 2 2 3 2
3