c++ 编一个C程序,计算并输出数列:1、3、5、…、2n-1、…的前n项之和,其中的n由键盘输入。

main()
{long s,n,k, i;
scanf("________%ld____________",&n);
k=2*n-1;
__s=0_________________;
for(i=1;i<=k;i++,____i++__________)
s+=i;
printf("1+3+…+%ld=%ld\n",k, s)


写对? 输入是 ld% ?

老式写法long int 格式用 %ld -- l 是 L 小写。
现在写 %d 就可以了, long int, short int, int 都用 %d
程序用ASCII 码写成:
#include<stdio.h>
main()
{long s,n,k,i;
scanf("%d",&n);
k=2*n-1;
s=0;
for(i=1;i<=k;i=i+2) s+=i;
printf("1+3+5+..%d=%d\n",k, s);
return 0;
}
循环步长2,用i=i+2, 不必用 i++,i++
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-15
是%ld 啊,程序没有问题
第2个回答  2012-06-15
%ld代表长整型,因为定义的类型是long,即long int,所以答案没问题
相似回答