请求C语言高手帮助~!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:26:59
1 2 4 8 16 32 64 128 256............前64项的和 ??
请求帮助 谢谢了~!!!
我算的是错误的 运行总是不错 只能显示30多项
int a,b;
for(a=1;a<=64;a++)
{
for(......)
????
还是不可以啊~! 555 有完全一点的没呢?
加了long也不行哦

#include <stdio.h>
void main()
{
int i;
double a,b;
for(i=1,a=1,b=0;i<=64;i++)
{
b+=a;
a=a*2;
}
printf("%f",b);
}

不应该为 int,你想想,后一个数为前一个数的2倍,到64项的时候,就应该是2的63次方,这么大,超出int的范围了,定义一个long吧

int i,a,b;
for(i=1,a=1,b=0;i<=64;i++)
{
b+=a;
a=a*2;
}
pringf(……)

用i计数,a表示数列各项,b表示总和