用C语言求一个n位数的各位数之积,(n小于10)

如题所述

1、建立一个工程和.c文件,如下图所示:

2、输入头文件和主函数,如下图所示:

3、定义变量类型并初始化,如下图所示:

4、输入整数,如下图所示:

5、先乘以整数的个位数,如下图所示:

6、剔除整数的个位数

7、输出结果

8、编译,运行

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-09

用scanf接收键盘输入,且限制位数小于10。用一个循环用操作符%从低位起依次分离各位数,累乘求积即可。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
int p,m;
printf("Inout m(int 0<m<1000000000)...\nm=");
if(scanf("%9d",&m)!=1 || m<1 || m>999999999){//输入并限制长度
printf("Input error, exit...\n");
return 0;
}
for(p=1;m;p*=m%10,m/=10);//各位数累乘至p
printf("\nThe result is %d\n",p);
return 0;
}

运行样例如下:

第2个回答  2012-12-17
很简单啊。兄弟。不要把n位数当做一个整数,当做是n个字符。。。
第3个回答  2012-12-17
n位数,大数操作,你用什么保存这个n位数,如果是数组那就很简答啊追问

用什么都行,只要得到正确结果

追答

#include
#include
int main()
{
char a[1024];
int i,l,num = 1;
scanf("%s",a);
l = strlen(a);
for (i = 0; i < l; i ++)
{
num *= (a[i] - '0');
}
printf("%d\n",num);
return 0;
}

本回答被网友采纳

用C语言求一个n位数的各位数之积,(n小于10)
1、建立一个工程和.c文件,如下图所示:2、输入头文件和主函数,如下图所示:3、定义变量类型并初始化,如下图所示:4、输入整数,如下图所示:5、先乘以整数的个位数,如下图所示:6、剔除整数的个位数 7、输出结果 8、编译,运行

用c语言怎样编写:输入一个整数n,求n的各位数字的之积程序
m = 1;while(n){ m *= n % 10;n \/= 10;} printf("各个位数之积:%d\\n",m);return 0;}

c 语言求一个n位自然数的各位数字的积
且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

c语言作业:计算正整数num的各位上的数字之积
采纳吧!#include<stdio.h>int main(){ int fac=1,num;scanf("%d",&num);while(num){fac*=num%10;num\/=10;}printf("%d\\n",fac);return 0;}

c语言,求任意一个整数各位数字之积
以下是一个将整个过程封装为函数的示例代码,可以输入一个整数,然后计算该整数各位数字之积:```c include <stdio.h> int digit_product(int num) { int product = 1;while(num != 0) { product *= num % 10; \/\/ 计算每个数字 num \/= 10;} return product;} int main() { int ...

用C语言编一个程序求一个数各位数之积
1.因为不知道你要输入的是几位数,所以可以用动态数组,输入数字之后,每一个位置其实就只有一个数字,那么就可以直接用每个位置的数字相乘!2,不用动态数组的话,可以直接用int,思路是,不停的除以10,求余数,得到的余数就是那一位的数字!一直到余数为0的时候停止!这里只给出大概思路。可以根据...

...从键盘上输入一个正整数,计算该数的各位数字之积并输出”
include<stdio.h> void main(){ int a,s;s=1;printf("请输入一个整数");scanf("%d",&a);while (a>0){ s=s*(a % 10);a=a\/10;} printf("a=%d",s);}

C语言 计算num上各位数字之积 如输入152 则输出10 补充一下就可 不...
include<stdio.h> main(){ int num,s=1,a;printf("input num:\\n");scanf("%d",&num);if(num>0){ \/***found***\/ while(num!=0){ a=num%10;s=s*a;\/***found***\/ num\/=10;} } printf("%d",s);}

C语言题目,输入一个正整数n,输出该数各位数字的积 例如,输入1234 输出...
include <stdio.h> int main(){ int num,s=1;scanf("%d",&num);while(num>0){ s=s*(num%10);num\/=10;} printf("每位数之积是:%d\\n",s);return 0;}

c语言中怎样计算一个整数各位数字之积
include<stdio.h> void main(){ int a,s;s=1;printf("请输入一个整数");scanf("%d",&a);while (a>0){ s=s*(a % 10);a=a\/10;} printf("a=%d",s);}

相似回答