用C语言编写1-3++5-7+9-......-99+101。下面是我写的程序,我运行的程序是109,我感觉不对,

//15.求1-3+5-7+。。。-99+101的值。#include"stdio.h"voidmain(){inti,k,sum;k=0;sum=0;for(i=1;i... //15. 求1-3+5-7+。。。-99+101的值。
#include "stdio.h"
void main()
{ int i,k,sum;
k=0;
sum=0;
for(i=1;i<=101;i=i+2)
{i=i*(-1)^k;sum=sum+i;k=k+1;}
printf("%d",sum);
}
在我的程序里改,不需要你重新写~我也不知道哪里写错了,求帮忙
展开
 我来答
百度网友21a360264
2014-06-07 · TA获得超过1855个赞
知道小有建树答主
回答量:640
采纳率:100%
帮助的人:367万
展开全部
#include "stdio.h"
void main()
{
  int i, k, sum;
  k = 1;
  sum = 0;
  for(i=1;i<=101;i=i+2)
  {sum=sum+i*k;k=-k;}
  printf("%d",sum);
}

与其他语言不同,^符号在C一类的语言中不是用来表达幂次运算而是按位异或运算,C没有自带的表示幂次的运算符,可以考虑用pow(x, n)函数。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ry_x
2014-06-07 · TA获得超过941个赞
知道小有建树答主
回答量:1095
采纳率:0%
帮助的人:734万
展开全部

因为 ^ 是异或运算符,而不是数学中的次方。

另外不要修改循环变量 i ,这会导致循环无法正常进行。

对应for循环改为

for(i=1;i<=101;i=i+2)
{
    if((i+1)%4!=0)    sum=sum+(i+1);
    else    sum=sum-(i+1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laolaibibulai
2014-06-07 · TA获得超过358个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:229万
展开全部
C程序中指数不是用^表示。
void main()
{
int i,k,sum,f=1;
k=0;
sum=0;
for(i=1;i<=101;i=i+2)
{
i=i*f;
sum=sum+i;
f=-f;
}
printf("%d",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT孤鹜
推荐于2016-09-09 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3580万
展开全部
#include "stdio.h"
void main()
{ int i,k,sum;
  k=1;
  sum=0;
  for(i=1;i<=101;i=i+2)
  {sum=sum+i*k;k=-k;}
  printf("%d",sum);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式