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

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

#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);/*输出结果*/
}
有不明白的给我留言~~
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-06
#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
首先对问题进行分析:
这个程序的和过程可以分解为:
1*10+3*9+5*8+...+19*1
解释:分析题目可知共10个1,9个3,8个5,...,1个19;

#include <stdio.h>
int j=1,m=0;//定义两个变量并赋初值,m为求和变量

//这个程序演示了单步求和的结果
void main()
{
for(i=19;i>=1;i-=2){//共循环10次
m+=j*i;//j*i表示如:10*1,9*3...,这句也可表示为m=m+j*i;下句同
j+=1;
printf("单步累计求和m=%d\n",m);
}
printf("最后求和m=%d",m);
}本回答被提问者采纳
第3个回答  2019-07-08
我不太懂c的语法,给你个思路,具体代码你可以修改
int
s,a,b,m,n,i
s=0;
a=1;
m=0;
for
(i=1,i<=n,i++)
{
b=2*i-1;
\\b为3,5,7这个数字,每次加2的数
m=m+b;
\\m为括号里面的值
s=s+m;
\\s就是s
}
printf
s
第4个回答  2019-02-16
我不太懂c的语法,给你个思路,具体代码你可以修改
int
s,a,b,m,n,i
s=0;
a=1;
m=0;
for
(i=1,i<=n,i++)
{
b=2*i-1;
\\b为3,5,7这个数字,每次加2的数
m=m+b;
\\m为括号里面的值
s=s+m;
\\s就是s
}
printf
s
相似回答