编程实现:输入正整数x,求1!+2!+3!+…+x!(要求用两种循环语句实现)。 求C语言大神 ?
编程实现:输入正整数x,求1!+2!+3!+…+x!(要求用两种循环语句实现)。求C语言大神😣...
编程实现:输入正整数x,求1!+2!+3!+…+x!(要求用两种循环语句实现)。
求C语言大神 😣 展开
求C语言大神 😣 展开
展开全部
两种方式如下,请采纳
#include <stdio.h>
long long fac(int n)
{
if(n==1||n==0) return 1;
return n * fac(n-1);
}
int main()
{
int x;
printf("请输入x:");
scanf("%d",&x);
long long sum = 0;
for(int i=1;i<=x;i++)
sum+=fac(i);
printf("和为:%d\n",sum);
return 0;
}
#include <stdio.h>
long long fac(int n)
{
if(n==1||n==0) return 1;
return n * fac(n-1);
}
int main()
{
int x;
printf("请输入x:");
scanf("%d",&x);
long long sum = 0;
int i = 1;
while(i<=x)
sum+=fac(i++);
printf("和为:%d\n",sum);
return 0;
}
展开全部
//1.cpp
#include<stdio.h>
int main()
{
int sum=0;
int i=1,j,x;
int tmp=1;
printf("Input x:");
scanf("%d",&x);
do
{
tmp*=i;
sum+=tmp;
i++;
}while(i<=x);
for(i=1;i<x;i++)
printf("%d!+",i);
printf("%d!=%d\n",x,sum);
return 0;
}
//2.cpp
#include<stdio.h>
int main()
{
int i,x;
printf("Input x:");
scanf("%d",&x);
int sum=0;
int tmp=1;
for(i=1;i<=x;i++)
{
tmp*=i;
sum+=tmp;
}
for(i=1;i<x;i++)
printf("%d!+",i);
printf("%d!=%d\n",x,sum);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int ji(int n)
{
int sum=1,i=0;
while(i++<n)
sum*=i;
return sum;
}
int main()
{
int i,x;
double sum=0;//由于阶乘的数很大用int 或long装不下x>35后就计算不出来了此时可以使用double 然后用%e输出结果
printf("输入x:");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
sum+=ji(i);
printf("%d!+",i);
}
printf("=%.2e",sum);
}
int ji(int n)
{
int sum=1,i=0;
while(i++<n)
sum*=i;
return sum;
}
int main()
{
int i,x;
double sum=0;//由于阶乘的数很大用int 或long装不下x>35后就计算不出来了此时可以使用double 然后用%e输出结果
printf("输入x:");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
sum+=ji(i);
printf("%d!+",i);
}
printf("=%.2e",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询