我c语言编程·关于S=1!+2!+3!··怎么实现··希望高手帮忙解答···用循环的方式·

作者&投稿:鄹物 (若有异议请与网页底部的电邮联系)
C语言循环题!编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。~

修改如下
#include
int main(void)
{
int i,j,n;
int item,s; //此处数据类型定义错误;
scanf("%d",&n);
s=0; n=5;
for(i=1;i<=n;i++){
item=0; //item应该是从0开始;
for(j=1;j<=i;j++) //第二层循环应该小于等于i;
item=item+j;
s=s+item;
}
printf("%d
",s);
return 0;
}
图为原程序在第二层循环加了个输出,查出第二层循环有问题。

扩展资料:
c语言书写规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-c语言

#include
void main()
{ int i,s;
i=1; s=0;
while ( i<=100 )
{ s+=i; if ( i==1 ) printf("%d",i); else printf("+%d",i);
i++;
}
printf("=%d
",s);
}

#include<stdio.h>
void main()
{
int i,n,s=1,sum=0;//i用于循环。n用于输入,s用于计算每一项阶乘,sum用于装阶乘的和
printf("输入N:");//提示输入n
scanf("%d",&n);//输入n到n变量中
for(i=1;i<=n;i++)//从1开始循环到n结束
{
s*=i;//计算阶乘
sum+=s;//累加每一位数阶乘之和
}
printf("%d",sum);//输出结果
}

//本程序在VC2008环境下测试通过
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
const int N = 4;//定义有几个数 可更改
int nMyNum = 0;//用于保存计算结果
int nSorti= 1;//循环变量
int nKeep = 1;//保存n!

for(nSorti = 1; nSorti < N + 1; nSorti++)//运算nSorti从2到N
{
nKeep *= nSorti;//(n-1)!*n
nMyNum += nKeep;//原值+n!
}

printf("%d\n", nMyNum);//打印结果

system("PAUSE");//暂停
return 0;
}

//本程序在VC2008环境下测试通过
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
const int N = 4;//定义有几个数 可更改
int nMyNum = 0;//用于保存计算结果
int nSorti= 1;//循环变量
int nKeep = 1;//保存n!

Label1:
nKeep *= nSorti;//(n-1)!*n
nMyNum += nKeep;//原值+n!
nSorti++;
if(nSorti <= N)
{
goto Label1;//跳转回Label1 最好不要用goto不符合结构化设计 除非你在学嵌入式
}

printf("%d\n", nMyNum);//打印结果

system("PAUSE");//暂停
return 0;
}

int n,i,j,t,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=1;
for(j=2;j<=i;j++)
t=t*j;
sum=sum+t;
}
printf("sum=%d",sum);

int i,j=1,m,sum=0;
for(i=1;i<m;i++)
{
j=j*i;
sum+=j;
}
return sum;

#include<stdio.h>
void main()
{
int i,j,sum;
printf("1!+2!+3!+……+10!的值为:");
for(i=1,sum=0,j=1;i<=10;i++)//循环到10!
{
j*=i;//计算i!;
sum+=j;//计算阶乘和
}
printf("%d\n",sum);//输出答案
}

算法(举例):1!+2!+3!+4!+5!=1+2*(1+3*(1+4*(1+5)))
直接写的,没运行过,不过应该不会错.
#include<stdio.h>
void main()
{
int a,i,s; //s存值
puts("请输入最大的阶乘:"); //不会描述,意思就是如果是题目那个形式的话就输3,推之
scanf("%d",&a);
s=a;
for(i=a;i>0;i--)
s=(1+s)*(i-1);
printf("%d",s);
}


我c语言编程·关于S=1!+2!+3!··怎么实现··希望高手帮忙解答...
void main(){ int i,n,s=1,sum=0;\/\/i用于循环。n用于输入,s用于计算每一项阶乘,sum用于装阶乘的和 printf("输入N:");\/\/提示输入n scanf("%d",&n);\/\/输入n到n变量中 for(i=1;i<=n;i++)\/\/从1开始循环到n结束 { s*=i;\/\/计算阶乘 sum+=s;\/\/累加每一位数阶乘之和 } prin...

s在c语言中是什么意思
是一个变量名或标识符,本身没有固定的含义。C语言是一种强类型的编程语言,赋予了程序员很大的自由度来选择和命名变量。s仅仅是一个标识符的占位符,用于在代码中表示一个具体的值或对象,s真正的意义完全取决于程序员的定义和赋值。由于C语言追求高效和直接,s并不强制要求变量名具有描述性,像s简短...

C语言:编程求s=2\/1+3\/2+4\/3+5\/4+…+22\/21的值,咋写?
代码文本:include "stdio.h"int main(int argc,char *argv[]){ int i;double s;for(s=0.0,i=1;i<22;s+=1.0\/i++);printf("2\/1+3\/2+4\/3+...+22\/21 = %f\\n",s+21);return 0;}

c语言s什么意思?
!S表示非S,如果S是0,那么!S的值就是1(真值);如果S不是0或者是其他值,那么!S的值就是0(假)。逻辑运算吧,里包括与(&&)、或(||)、非(!)三种 !逻辑非运算符 估计是命名的一个变量吧,S多半是命名的字符数组,比如:charS[25];还有就是这种:printf("%s",test);这里的表示字符...

C语言:编程求s=1-1\/2+1\/3-1\/4+1\/5-1\/6+•••+1\/21
include <stdio.h>void main(){float i,d=1,s=0;for(i=1;i<=21;i++,d=-d)s+=d\/i;printf("S=%f",s);}

C语言编程完数因子。S=0为什么要写在for循环里面?
S=0要写在for循环里面是因为,如果S写在for循环外面,那么在for循环执行完毕后,S的值仍然为0。而如果S写在for循环里面,那么在for循环执行完毕后,S的值将会是所有完数的总和。

如何用C语言编程将字符串s中的所有字符按ASCII值从小到大重新排序后输出...
include "string.h"int main(){char s[100],t;int i,j,sum;printf("Input:\\n");gets(s);sum=strlen(s);for(i=0;i<sum-1;i++)for(j=0;j<sum-i-1;j++)if(s[j+1]<=s[j]){t=s[j];s[j]=s[j+1];s[j+1]=t;} printf("Output:\\n");puts(s);return 0;} ...

用C语言编程,将字符串s中的所有字符按ASCII值从小到大重新排序后,将排...
include <stdio.h>#include <string.h>int main(){char str[] = "Hello World!", ch;int i, j, len;len = strlen(str);for (i = 0; i < len - 1; i++) {for (j = i + 1; j < len; j++) {if (str[i] > str[j]) {ch = str[i];str[i] = str[j];str[j...

C语言编程 S=1+1\/2+2\/3+3\/4+...+99\/100 求S=?
main(){ int i,s=1; for(i=1;i<=99;i++) { s=s+i\/(i+1); } printf("S=%d",s);}

C语言编程计算:s=1-1\/2+1\/3-1\/4+···1\/100
include <cstdio>int main() {double sum = 0;int flag = 1;for (int i = 1; i <= 100; i++) {sum += flag * 1.0 \/ i;flag = -flag;}printf("%lf\\n", sum);} 答案:0.688172

临潼区19641908935: 如何使用C语言编程计算S=1!+2!+……+n! -
越注康妇: #include "stdio.h" main() { double s=0,p=1,i; int n; printf("输入N:"); scanf("%d",&n); for(i=1;i<=n;i++) { p*=i; s+=p; } printf("%lf\n",s); }

临潼区19641908935: c语言,用循环语句编写程序,计算S的值,S=1!+2!+3!+……10! -
越注康妇: 展开全部/***************************** S=1!+2!+3!+……10!****************************/#include //int factorial(int n)//{// if(n==1)// return 1;// else// return n*factorial(n-1);//} int main(void) { int i,sum=10; for(i=9;i>=1;i--) { sum=sum*i+i; } printf("sum=%d\n",sum); return 0; }

临潼区19641908935: 用C语言编写程序计算S的值,其中s=1+2+3+......+100 -
越注康妇: #include <stdio.h> int main() {int i,s=0;for(i=1;i<=100;++i)s += i;printf("s=%d", s);return 0; }

临潼区19641908935: C语言编程:编程序,求s=1+2+….+100的和,并将s的值用输出语句输出结果
越注康妇: int s=0; for(int i=1;i<=100;i++) { s+=i; } printf("\n%d",s);

临潼区19641908935: 用C语言编程计算下列表达式:s=1!+2!+3!+4!+……+10!. -
越注康妇: #include"stdio.h" void main() { long s=0,k=1,i,j; for( i=1;i<=10;i++)//计算加数个数 { for(j=1;j<=i;j++)//计算阶乘 { k*=j; } s+=k;//累加 k=1;//初始化 } printf("%ld\n",s); } 把二楼的做了一下修改,调试通过了,谢谢他的思路,不过我也很为难该不该给他这个源程序,或许他真的需要吧!我也想对提问者说一句,如果真的对编程感兴趣的,应该自己动手编写,遇到不会的地方,在提问啊,这样才能有所进步.

临潼区19641908935: 编写一个程序 计算s=1!+2!+...+n!.其中n由输入决定 -
越注康妇: #includeint main() { int n; int i; int multivalue = 1; scanf("%d", &n); if(n

临潼区19641908935: C语言编程中 请问上s=1!+2!+3!+4!+5!``````100!S 的和值 请帮我分析!是什么意思??? -
越注康妇: 这道题的意思就是:求和.假如s=1!+2!+3! 就是s=1*1+1*1*2+1*1*2*3 这道题只不过是加到100的阶乘罢了.首先,肯定有100项,即for(int i=1;isum用来统计和,用long类型吧,因为他比较大,item用来统计每一项,将item初始值为1,即1*1 1*2 1*2*3 这种项.通过规律发现,项满足item*=i; 第一项:1*1 第二项:1*2 第三项:1*2*3 那么和也就是sum+=item.就这样分析,该题就很清楚了吧.c语言逻辑性比较强,需要多联系,学会自己多分析,即使有答案也要搞懂答案是这么来的,最后能够学以致用.

临潼区19641908935: C语言编程S=1+(2+2)+(3+3+3)+(4+4+4+4)+(5+5+5+5+5) -
越注康妇: #includeint main() { int S=0,i,j; for(i=1,j=1;i<=5;i++,j++) { for(;j>0;j--) { S+=i; } j=i; } printf("%d",S); return 0; }

临潼区19641908935: C语言编程实现S=1!+2!+3!+......20! -
越注康妇: long int Fact(int n) { int x; long int y; if(n { printf("参数错误!"); return -1; } if(n==0)return 1; else { x=n-1; y=Fact(x); return n*y; } } 你写一个主函数调用它就可以了,把20作为形参传过去就可以了,这个是递归调用.

临潼区19641908935: C语言编程求s=1+2+3+4+...+10 -
越注康妇: #include <stdio.h> void main() { int s = 0; for(int i=1; i<=10; i++)s += i; printf("%d\n", s); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网