c语言求1-3+5-7+9-11.....-99+100 这道题有答案 但是看不懂 麻烦注释下

#include "stdio.h"
main()
{int n,t=1,s=1;
for(n=3;n<=101;n+=2)
{t=-t; s=s+t*n;}
printf("s=%d\n",s);
}
注释下 看不懂

#include "stdio.h" //头文件
main() //主函数
{int n,t=1,s=1;
for(n=3;n<=101;n+=2) //n从3开始循环,每次循环加2(n+=2相当于n=n+2,不建议
// 这样写,可读性不强)
{t=-t; s=s+t*n;} //循环体,表达式。从你给的式子可以看出,每一项为前一
//项加2乘以-1,即-1*(n+2),乘以-1就是t=-t,n=n+2在for
//中已有体现
printf("s=%d\n",s); //输出结果
}
希望你能看懂,不懂的话再追问吧追问

看懂了 有另外一个问题 如果表达式从1开始 那该怎么做

追答

现在就是表达式从1开始,如果你是说n从1开始的话,就令s=0,for中n=1就可以了,和上面的程序是一样的结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-28
程序是错的,
应该把t=-t; 改为 t=(-1) * t; 电脑没那么智能
第2个回答  2013-01-28
t= -t 然后进行n次方 就是确定是 + 还是 - 作用的。然后就相当于一个1加到101的函数了。

PS:最后面一个数你确定是100? 不是101 ?
第3个回答  2013-01-28
main()
{int n,t=1,s=1; //定义n、t、s三个变量,t和s初值为1,其中s用来记录当前的和
for(n=3;n<=101;n+=2) //for循环用来控制累加的次数,每迭代一次n的值都加2,根据题目,当n>100时循环应结束,也就是加到100了
{t=-t; //t用来控制正负号,因为要累加的等差数列数是正负交替的
s=s+t*n;} //等差数列累加,就是把新的数加到原来的和s上,s就为新的和值
printf("s=%d\n",s); //循环结束即1-3+5-7+9-11.....-99+100已算完,即为此时的s值,输出该值
}
第4个回答  2018-10-29
-2x(—99-1)/(—3—1)=-2×25=—50

...99+100 这道题有答案 但是看不懂 麻烦注释下
{int n,t=1,s=1;for(n=3;n<=101;n+=2) \/\/n从3开始循环,每次循环加2(n+=2相当于n=n+2,不建议 \/\/ 这样写,可读性不强){t=-t; s=s+t*n;} \/\/循环体,表达式。从你给的式子可以看出,每一项为前一 \/\/项加2乘以-1,即-1*(n+2),乘以-1就是t=-t,n=n...

...的程序算1到10奇数偶数的乘积~~帮我注释一下每一句的含义~原因...
首先 初始化变量, 第一个for循环计算奇数的积,代码好像有点问题, 应该是 i<11,然后将奇数的积打印出来 第二个for循环计算偶数的积,然后将偶数的积打印出来 很简单的

c语言流程图:求1+2+3+4+5+6+7+8+9+10的值(亲,要图!)
for(i=o;i<10;i++)s=s+i 设定:a是数值,初始值为1,s也是数值,初始值为0。程序开始——判断a是否大于10——分支1——当小于等于10时——运行:s=s+a,a++ 返到判断a处。分支2— 当大于10时——输出a的值,并等待退出程序。

c语言求2-4+6-8……-100+102的值
你问错地方了 哈哈 应该去C\/C++那里去问 在这里解答了吧。解法一:用循环 include<stdio.h> main(){ int i,sum=0;for(i=2;i<=102;i=i+2) \/*控制累加*\/ if((i\/2)%2==1)sum+=i; \/*判断是加还是减,(i\/2)%2的奇偶判断是加还是减*\/ else sum-=i;printf("%d\\n",sum);}...

用C语言循环结构求解1-100之间的所有素数。写出程序设计思路、关键语句...
if(n1==1||n1==2) \/*处理素数2*\/ { printf("%4d",2);n1=3;count++;} for(i=n1;i<=nm;i++) \/*判定指定范围内的整数是否为素数*\/ { if(!(i%2))continue;for(flag=1,j=3;flag&&j

c语言...
leap=1; } printf("\\nThe total is %d",h);}【程序7】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2....

求C语言习题!
case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; ...

C语言求1+1+2+3+5+8+...前20项的和求编程
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,...

关于C语言的问题,主要问题已加注释,谢谢!
那么问题来了,如果a[0]就是最小值,即a[0]=a[pd],也即pd=0:那么最大值和a[0]交换位置后,a[0]就成了数组的最大值,a[pd]成为了此时的a[0],已经不是最小值了;所以如果最小值是a[0],那么在最大值与a[0]交换完毕后,将与a[1]交换最小值的下标应从0变为px,即pd=px;我尽...

C语言编程:本题要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 +...
3f\\n",sum);return 0;}同时给你简化一下程序include<stdio.h>#include <math.h> int main(){int n,i;double sum=0.0;printf("请输入数字n:");scanf("%d",&n);for(i=1;i<=n;i++)sum+=pow(-1,i+1)\/(3*i-2.0);printf("sum=%0.3f\\n",sum);return 0;}望采纳 ...

相似回答