求高手 1! 2! 3! .... n!输出其结果 要求N(3<=N<=20)从健盘输入且用函数实现阶乘的计算 在线等

用C语言 大一学的

#include<stdio.h>

int main()
{
int data[20000]={1,1,0}; //初始化,数组从1开始记数
int num; //阶乘大小
int digit=1; //每次阶乘得出结果的位数
int i=0,j=0,k=0;
scanf("%d",&num);
for(i=1;i<=num;i++)
{
for(j=1;j<=digit;j++)//先做每一位与i的乘积放在一个数组空间中
{
data[j]*=i;
}
for(j=1;j<=digit;j++)//调整个元素的值,使之在0--9之间
{
if(data[j]>9)
{
for(k=1;k<=digit;k++)
{
if(data[digit]>9) //位数增加
{
digit++;
}
data[k+1]+=data[k]/10;//调整
data[k]%=10;
}
}
}
}
printf("%d!=",num);
for(j=digit;j>0;j--)
{
printf("%d",data[j]);
}
printf("\n");
return 0;
}
N可以到1000
温馨提示:内容为网友见解,仅供参考
无其他回答

...要求N(3<=N<=20)从健盘输入且用函数实现阶乘的计算 在线等_百度...
int data[20000]={1,1,0}; \/\/初始化,数组从1开始记数 int num; \/\/阶乘大小 int digit=1; \/\/每次阶乘得出结果的位数 int i=0,j=0,k=0;scanf("%d",&num);for(i=1;i<=num;i++){ for(j=1;j<=digit;j++)\/\/先做每一位与i的乘积放在一个数组空间中 { data[j]*=i...

...1!+2!+3!+…+n!的值,n从键盘输入(用函数完成阶乘计算)
void main(){ int A(int n);\/\/递归求阶乘 cout<<"请输入N值:";int i,N,sum=0;cin>>N;if(N>0){ for(i=N;i>=1;i--){ sum+=A(i);} cout<<"结果:"<<sum<<endl;} else cout<<"N必须为正整数!\\n";system("pause");} int A(int n){ if(n>1)return A(n-1)*...

C++题目: 求N的阶乘 求N的阶乘(N<20)。N的阶乘=1*2*3*...*N,N值由...
l:cin>>n;if(n>=20){ cout<<"输入的数大于19,请重新输入:";goto l;} for(i=1;i<=n;i++)sum*=i;cout<<n<<"的阶乘是:"<<sum<<endl;}

Python编写一个函数,求1*2*3*4...*n的乘积,编写主程序,从键盘输入一...
coding=utf-8n = int(input('请输入一个正整数:'))num = 1for i in range(1, n + 1): num = num * iprint('结果:', num)运行结果:

C语言 求1!+2!+3!+… +n! , 其中n由键盘输入。
printf("%d\\n",sum);return 0;} 例如:include <stdio.h> \/* 通过递归计算一个数的回阶乘 *\/ int factorial(int num){ if (num==1)return 1;else return (num * factorial(num - 1));} int main(){ int i,n;long sum = 1;scanf("%d",&n);for (i = 2;i <= ...

编写c++程序,计算1!+2!+3!+…+n!,其中n从键盘输入。
include <stdio.h> int main(){ int j;long temp=1;long sum=0;cout<<"input a positive integer:"<<endl;cin>>j;for(int i=1;i<=j;i++){ temp*=i;sum+=temp;} printf("sum=%ld\\n",sum);\/\/输出的这个地方还要写点代码弄出你那个表达式,不想写了。return 0;} ...

用JAVA编写程序,计算1!+2!+3!+…+n!的和,其中阶乘的写一个方法...
public class Factorial { \/\/下面的这个方法利用递归的方法求阶乘 public int getFac(int m){ if(m==1){ return 1;} else { return m*getFac(m-1);} } public static void main(String args[]){ Factorial fac=new Factorial();\/\/System.out.println(fac.getFac(4));int sum=0;for(...

c语言计算式子1!+2!+3!+……+n!,并输出结果,用主函数调用子函数的方法实...
return r; } void main(){ int n,i; double s;scanf("%d",&n); s=0;for ( i=1;i<=n;i++ ) s+=f(i);printf("%.0lf\\n",s);} 这里因为阶乘计算结果比较大,怕超出整数范围,所以用了double型变量和函数返回值,如果不担心这点可以替换double成int,printf也换成%d输出 ...

...计算1!+2!+3!+...+n!的值,其中n的值通过键盘输入
1、C程序 include<stdio.h> void main(){ int i,a;float n=1,sum=0;scanf("%d",&a);for(i=1;i<=a;i++){ n=n*i;sum=sum+n;} printf("1!+2!+3!+...+n!=%.0f",sum);} 2、C++程序 include<iostream.h> void main(){ int i;float n=1,sum=0;for(i=1;i<=...

编写程序求S=1!+2!+3!+...+N! (其中N为从键盘输入的任意自然数)。
include <stdio.h> void main(){ int i,j,n,num,sum=0;printf("输入求阶乘的数:\\n");scanf("%d",&n);for(i=1;i<=n;i++){ int num=1;for (j=1;j<=i;j++)num=num*j;sum+=num;} printf("%d",sum);}

相似回答
大家正在搜