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   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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!