2 lpzuwde lpzuwde 于 2016.01.21 16:05 提问

C语言计算1+2+3+4+...+n的和,要使用至少3种不同的方法实现

C语言计算1+2+3+4+...+n的和,要使用至少3种不同的方法实现

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.21 16:11

方法1:
int sum = 0;
for (int i = 1; i <= n; i++) sum += i;
printf("%d", sum);
方法2:
int sum = 0; int i = 1;
while (i <= n) sum += i;
printf("%d", sum);
方法3:
printf("%d", (1 + n) * n / 2);

sinat_26481249
sinat_26481249   2016.01.21 16:16

1.

#include <stdio.h>
void main()
{
    int n,i,m=0;
    printf("请输入一个数字:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        m=m+i;
    }
    printf("1开始到n的所有整数的和是:%d\n",m);
}

2.

int fun(int i)
{
  int sum=0;
  do  sum+=i;
  while(--i);
  return sum;
}
main()
{
  int i;
  clrscr();
  scanf("%d",&i);
  printf("%d",fun(i));
  getch();
} 

3.

 #include
main()
{
int n;
scanf("%d",&n);
n=Func(n);
printf("%d",n);
}
int Func(int n)
{
int i;
i=(1+n)*n/2;  /*?*/
return i;
}
sinat_30111673
sinat_30111673   2016.01.21 16:21

fun(int n)
{
if(n<1)
return -1;
if(n == 1)
return 1;
else
return n+fun(n-1);
}

int main()
{
int sum = fun(n);
printf("%d\n", sum);
}

yuechengzi
yuechengzi   2016.01.21 16:41

//方法四

int main()
{
//get n
int sum = n * (n + 1) / 2;
printf("%d\n", sum);
return 0;
}


enpterexpress
enpterexpress   Rxr 2016.01.21 17:26

方法1:

 int sum = 0;
for (int i = 1; i <= n; i++) sum += i;
printf("%d", sum);

方法2:

 int sum = 0; int i = 1;
while (i <= n) sum += i;
printf("%d", sum);

方法3:

 printf("%d", (1 + n) * n / 2);

方法4:

int function(int sum)
{
if(sum=1)
return 1;
else if(sum==0)
return 0;
else
return sum+function(sum-1);
}
 printf("%d", function(100));
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言方法实现1!+2!+3!+4!+.....+n!=?阶乘之和
c语言方法实现1!+2!+3!+4!+.....+n!=?阶乘之和
C语言 计算1!+2!+3!+4!
C语言
c语言用递归的方法实现1!+2!+3!+4!+.....+n!=?阶乘之和
#include "stdafx.h" #include int getmul(int n){//递归求阶乘 int sum; int temp = 1; if(n<=0){ printf("输入的数据错误,不能小于0!\n"); return -1; }else{ if(n ==1 ){ su
【c语言】 求1*2*3*4*5
// 求1*2*3*4*5 #include int main() { int i; int sum = 1; for( i = 1; i <= 5; i++ ) { sum = sum * i; } printf("1*2*3*4*5的值是:%d\n",sum); return 0; } // 有50个学生,要求输出成绩在80分以上的学生的学号和成绩
C语言求Sn=1!+2!+3!+4!+5!+…+n!之和
或者,类型使用long int
排列组合计算公式
排列组合计算公式  加法原理:做一件事,完成它可以有几类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……,在第n类办法中有mn种不同的方法.那么,完成这件事共有N=m1+m2+…+mn种不同的方法. 乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法.那么,完成这件事共有N=m1
用C语言编写程序求一个1!+2!+3!+4!...(两种方法)
方法一:思路:用两个for循环,一个用于计算阶乘(n!),一个用于计算和(sum).代码如下,自己感悟。int main() { int sum = 0; for (int i = 1; i &amp;lt;= 4; i++)//此循环用于求和 即求1!+2!+3!+4! { int ret = 1; for (int j = 1; j &amp;lt;= i; j++)//此循环用于计算...
C语言,求sum = 1! + 2! + 3! + ……+n!
求sum = 1! + 2! + 3! + ……+n!,C语言程序设计如下: #include using namespace std; int sum; //得n! int f(int n) { if(n == 1) return 1; return n*f(n-1); } //得1! + 2! + 3! +……+n! int ff(int n)
用C语言计算1!+2!+3!
test.c#define _CRT_SECURE_NO_WARNINGS 1 #include &amp;lt;stdio.h&amp;gt; int main() { int i = 0; int sum = 0; int ret = 1; for (i = 1; i &amp;lt;= 3; i++) { ret = ret*i;//计算n的阶乘 sum = sum + ret;//将n的阶乘求和...
【C语言】计算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值
//计算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值 #include int main() { float sum=0; float i; int n=1; for(i=1;i<=100;i++) { sum=sum+n/i; n*=-1; } printf("和为%f\n",sum); return 0; }