C语言编写程序求S=1+(1+3)+(1+3+5)+...+...(1+3+5+...19)

求C语言编写程序答案:
编写程序求S=1+(1+3)+(1+3+5)+...+...(1+3+5+...19)

第1个回答  2007-10-13
#include<stdio.h>
#define m 19 /*预定义一个m的值为19,在这里是方便你改变你的题目中的19,你可以方便的改成你想要的数*/
main()
{
int a, i, j, sum;
sun=0;/*sum即为你题目中的s,是你最终的运算结果*/
j=m;
while(j>0)
{
a=0; /*a在每次执行while循环是都赋值为0,原因下面说明*/
for(i=1;i<=j;i=i+2)
a=a+i;/*因为在while循环的最后有这样的一条语句"j=j-2",所以a的值一次是(1+3+....+19),(1+3+5+...+17),......(1+3),1*/
sum=sum+a; /*这个语句并不再for循环中去,他把a每次的值累加起来,就得到了你要的结果了*/

j=j-2;
}
printf("%d",sum);/*输出结果*/
}
有不明白的给我留言~~
第2个回答  2007-10-13
我自己编的,可以修改最后一个数字的值进行不同的计算.
[如果不支持include<iostream.h>中的cout,cin输入格式,
可以用include<stdio.h>中用printf和scanf分别替换cout和cin
比如cout>>a等同于printf("%d",a)
cout>>"abc"等同于printf("abc")
cin<<a等同于scanf("%d",&a) ]

#include <iostream.h>
main()
{
cout<<"请输入最后一个数字(奇数):";
int last,i,j,s=0;
cin>>last;
int num=(1+last)/2;//通过求中值计算出循环次数
for(i=1;i<=num;i++)
{
for(j=1;j<=i;j++)
{
s=s+2*j-1;// 2n-1求数
}
}
cout<<endl<<"和数为:“"<<s<<"”";
}
第3个回答  2007-10-13
#include "stdio.h"

void main()
{
int i,m=0,s=0;
for(i=1;i<=10;i++)
{
m=m+2*i-1;
s=s+m;
}
printf("%d",s);
}
第4个回答  2007-10-13
你也可以列表后再做
第5个回答  2007-10-13
这程序也太简单了:
#include "stdio.h"

void main()
{
int i,m=0,s=0;
for(i=1;i<=20;i+=2)
{
m=m+i;
s=s+m;
}
printf("%d",s);
}
在这儿m起到保留前些数之和的临时单元的作用

上面答案我全部都调试了:
楼上的除了变量i忘了定义,即int i,j=1,m=0;
三者 答案都是对的,结果为385

参考资料:我亲力亲为啊!!楼主看给哪个合适了!!!