使用循环计算1-2+3-4+5-6+…-100的值?
#include<stdio.h>intmain(){intsum=0;//定义计算结果变量suminti=1;//定义循环数字变量iintflag=1;//定义符号状态...
#include <stdio.h>
int main()
{
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用for循环
for(i=1;i<=100;i++)
{
sum+=i*flag;
flag*=-1;
}
printf("sum=%d\n",sum);
return 0;
下面是网上搜索到的给出了两次的判断,请大神帮忙给出以后五次或者六七次的判断,我只看前两次实在是算蒙了。
这是一个编程的小技巧
第一次执行循环的时候:
flag = 1 , sum = 0, i = 1
那么
sum = sum + i * flag = 0 + 1 * 1 = 1 i作为正数加入
接下来flag = flag * -1 = 1 * -1 = -1
所以第二次执行循环的时候
sum = sum + i * flag = 1 + 2 * -1 = 1 - 2 = -1 i作为负数加入
接下来flag = flag * -1 = -1 * -1 = 1
那么第三次执行循环的时候,i又可以作为正数加入,
以此类推就可以达到判断符号的效果。
这是我自己算的,好像根本就不对:
sum = sum + i * flag = -1 + 3 * 1 = -2
flag = flag * -1 = 1 * -1 = -1
sum = sum + i * flag = -2 + 4 * -1 = -6
flag = flag * -1 = -1 * -1 = 1
sum = sum + i * flag = -6 + 5 * 1 = -1
flag = flag * -1 = 1 * -1 = -1 展开
int main()
{
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用for循环
for(i=1;i<=100;i++)
{
sum+=i*flag;
flag*=-1;
}
printf("sum=%d\n",sum);
return 0;
下面是网上搜索到的给出了两次的判断,请大神帮忙给出以后五次或者六七次的判断,我只看前两次实在是算蒙了。
这是一个编程的小技巧
第一次执行循环的时候:
flag = 1 , sum = 0, i = 1
那么
sum = sum + i * flag = 0 + 1 * 1 = 1 i作为正数加入
接下来flag = flag * -1 = 1 * -1 = -1
所以第二次执行循环的时候
sum = sum + i * flag = 1 + 2 * -1 = 1 - 2 = -1 i作为负数加入
接下来flag = flag * -1 = -1 * -1 = 1
那么第三次执行循环的时候,i又可以作为正数加入,
以此类推就可以达到判断符号的效果。
这是我自己算的,好像根本就不对:
sum = sum + i * flag = -1 + 3 * 1 = -2
flag = flag * -1 = 1 * -1 = -1
sum = sum + i * flag = -2 + 4 * -1 = -6
flag = flag * -1 = -1 * -1 = 1
sum = sum + i * flag = -6 + 5 * 1 = -1
flag = flag * -1 = 1 * -1 = -1 展开
2个回答
展开全部
使用循环计算1-2+3-4+5-6+…-100的值
(1-2)+.......(99-100)=-1*50=-50。
(1-2)+.......(99-100)=-1*50=-50。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
北京埃德思远电气技术咨询有限公司
2021-11-22 广告
2021-11-22 广告
假设条件在短路的实际计算中, 为了能在准确范围内迅速地计算短路电流, 通常采取以下简化假设。(1)不考虑发电机的摇摆现象。(2)不考虑磁路饱和,认为短路回路各元件的电抗为常数。(3)不考虑线路对地电容, 变压器的磁支路和高压电网中的电阻, ...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
展开全部
1-2+3-4+5-6+…-100=(1-2)+(3-4)+(5-6)+... ...+(95-96)+(97-98)+(99-100)=-50
更多追问追答
追问
谢谢,我知道这种算法,我想知道用C语言的那个算法的公式。
追答
我虽然不懂,但是编c语言也可以用这个公示吧?分最后一个数是奇数(设为a)算式值=a-(a-1)/2=(a+1)/2,最后一个数是偶数(设为a)算式值=-a/2,这样编程不是简单很多??
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询