用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出.

用C语言编写一个小程序,要求从1+2+3+……+10000,然后把结果输出。求详细写法。

你确定是到10000吗?16bit的整数会溢出的,32bit绝对没问题的
那可以根据公式来实现1+2+3+……+10000 = 10000*(1+10000)/2
所以
#include <stdio.h>
int main()
{
int n = 10000;
int sum = 0;
sum = (n+1)*n/2;
printf("%d\n",sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-04
用递归调用写了一个小程序:
#include <stdio.h>
int fun (int n)
{
int a=0;
if(n==1)
a=1;
else a=n+fun(n-1);
return a;
}
void main()
{
int fun(int n);
int n;
int y;
scanf("%d",&n);
printf("输入的数为%d\n",n);
y=fun(n);
printf("结果:%d\n",y);
}
第2个回答  2010-08-04
你将他们回答中的变量类型变为长整型(long),好像结果要超出int范围
第3个回答  2010-08-04
#include<stdio.h>

void main()
{
int num,sum=0;
for(int i=1;i<10001;i++)
sum+=num;
printf("结果是%d",sum);
}
第4个回答  2010-08-04
#include <stdio.h>

long Add(int i);
void main()
{
int i;
printf("i = ");
scanf("%d",&i);
printf("Add 1 to %d = %d",i,Add(i));
}
long Add(int i)
{
return (((i+1)*i)>>1);
}本回答被提问者采纳