C语言!!!!求输入一个正整数n,求1!-2!+3!-4!+5!.......+n!的程序。

最好是for循环!!

其实用递归算更简单,再给你一个吧

#include <stdio.h>
//由于标准math.h中没有求阶乘函数,所以自己写一个吧
int jiecheng(int n)
{
if(n<=1) return n;//控制递归跳出
if(n!=1)
n*=jiecheng(n-1);//递归
return n;
}
int main()
{
int n,sum=0;
printf("请输入一个整数");
scanf("%d",&n);
for(int i=1;i<=n;i++)
sum+=jiecheng(i);
printf("%d\n",sum);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-25
#include <stdio.h>

int main(void)
{
int n;
int result = 0;
int i, j;
int temp = 1;
int flag;
printf("please input n:\n");
scanf("%d", &n);

for (i = 1; i < (n + 1); i++) {
temp = 1;
for (j = 1; j < (i + 1); j++) {
temp *= j;
}
if (i % 2 == 1)
flag = 1;
else
flag = -1;
result += (flag * temp);
}

printf("The result is %d\n", result);
return (0);
}本回答被提问者采纳

C语言!!!求输入一个正整数n,求1!-2!+3!-4!+5!...+n!的程序。
n*=jiecheng(n-1);\/\/递归 return n;} int main(){ int n,sum=0;printf("请输入一个整数");scanf("%d",&n);for(int i=1;i<=n;i++)sum+=jiecheng(i);printf("%d\\n",sum);return 0;}

求大神指点:提示用户输入一个正整数N,计算1-2+3-4+5...+N的和!
include "stdafx.h"#include<stdio.h>int main(){ int n,sum=0,f=1; printf("请输入一个整数N:"); scanf("%d",&n); for(int i=1;i<=n;i++){ sum=sum+(i*f); f=-f; \/\/ 一负一正来回徘徊,即可形成1-2+3-4+5...N这种效果。 } printf("%d"...

C语言:使用while循环。输入一个正整数n,计算并输出1!+2!+3!+4!+...
int main(){ unsigned long n,i,sum,t;scanf("%lu",&n);for(t=i=1,sum=0;i<=n;++i){ sum+=t*=i;} printf("%lu\\n",sum);return 0;} 请点击输入图片描述

c语言 输入一个正整数n,计算1+根2+根3+……+根n的值(保留2位小数)
include "stdio.h"#include "math.h"int main(void){ int n,i; double sum; while(1){ printf("Input n(int n>0)...\\nn="); if(scanf("%d",&n) && n>0){ for(sum=1.0,i=2;i<=n;sum+=sqrt(i++)); printf("The result is %.2f\\n",sum); ...

C语言。 输入一个正整数n,求s=1+2+3+...n的和。。。如输入50输出1275输...
int i,n,sum=0;scanf("%d",&n);for(i=0;i<=n;i++)sum+=i;printf("%d\\n",sum);这个就可以,但是要考虑溢出的问题,输入的数太大了,所得到得结果可能会超过定义的类型最大值

c语言。求1!+2!+3!+……+10!。要求编写求N的阶乘的函数
double hi(int n){ int i;double s=1.0;for (i=1;i<=n;i++)s=s*i;return s;} void main(){ double sum=0.0;int n,i;printf ("please input n:\\n");scanf ("%d",&n);for (i=1;i<=n;i++)sum+=hi(i);printf ("1!+2!+3!+……+n!=%0.f",sum);} 给你...

C语言编程实现:输入正整数n,求1!+2!+3!+…+n!的值。
include <stdio.h> int main(){ int i,n,t=1,sum=0;printf("输入正整数n:");scanf("%d",&n);for(i=1;i<=n;i++){ t*=i;sum+=t;} printf("结果为:%d",sum);return 0;}

使用C语言输入一个正整数n,输出1+2!+3!+...n!
int main(){ int i,sum=0,t,s,n;printf("请输入一个整数:");\/\/提示语句 scanf("%d",&n);\/\/输入n的值 for(i=1;i<=n;i++) \/\/第一次循环,就是数字1到n 的递增 { s=1;\/\/每次阶乘都要初始化s=1 for(t=1;t<=i;t++)\/\/循环里的循环 ,求每个i的阶乘 s*=t;\/\/ 目的...

...程序,对于输入的正整数n,计算1!+2!+3!+…+n!的值并输出结果。_百度...
test { public static void Main(){ int n=Convert.ToInt32(Console.ReadLine());Console.Write(jiejia(n).ToString());} public static int jiecheng(int n){ return n>1?n*jiecheng(n-1):1;} public static int jiejia(int n){ return n>1?jiecheng(n)+jiejia(n-1):1;} } ...

(2)编写程序,实现任意输入一个正整数n,求+1!+3!+5!+++n!之和+要求将...
cout << "请输入一个正整数n:";cin >> n;int sum = 0; \/\/ 存储求和结果 int factorial = 1; \/\/ 存储当前阶乘 for (int i = 1; i <= n; i += 2) { factorial *= i; \/\/ 计算当前阶乘 sum += factorial; \/\/ 累加到求和结果中 } cout << "1!+3!+5!+...+" << n...

相似回答