计算2+22+222+2222+22222的C语言程序

#include<stdio.h>#include<math.h>voidmain(){inti,n,sum;i=2;for(n=1;n<=4;n++){sum+=i;i... #include<stdio.h>
#include<math.h>
void main()
{
int i,n,sum;
i=2;
for(n=1;n<=4;n++)
{sum+=i;
i+=2*10^n;
printf("sum=%d/n",sum);
}
}
这个程序错在哪里呢?
展开
 我来答
匿名用户
2014-03-21
展开全部

首选是sum没有初始化,sum的值是任意的,

其次i+=2*10^n 不对,C语言中^表示亦或  不是次方。

还有printf应该放在循环外边,只输出最后一次。

还有循坏少一次,N从1到4只循环了4次,所以for里边应该是i<=5。

#include<stdio.h>
void main()
{
 int i=2,n=1,sum=0; //变量初始化 
 for(;n<=5;n++)
  {
  sum+=i;
  i=i*10+2;
 }
   printf("sum=%d\n",sum);
 }
水里风
推荐于2018-02-23 · TA获得超过1529个赞
知道小有建树答主
回答量:1294
采纳率:80%
帮助的人:529万
展开全部
应该这样写:
#include<stdio.h>
#include<math.h>
void main()
{
int i,n,sum;
sum=0;
i=2;
for(n=1;n<=5;n++)
{
sum+=i;
i = i*10+2;
}
printf("sum=%d\n",sum);
}
你的错误:一开始sum没有赋初值
c程序里没有次方这个符号
for循环中条件应该为n<=5,
printf语句最好放到for循环外面来
还有你的\n打反了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2014-03-21 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3475万
展开全部
i+=2*10^n;

这里的^在c语言中并不是表示 次方的意思,所以不对啊

#include<stdio.h>
#include<math.h>
void main()
{
int i,n,sum;
i=2;
for(n=1;n<=4;n++)
{
sum+=i;
i = i*10+2; //修改为这样,原来i=2 则i=i*10+2 =22 继续的话 22*10+2 =222了
printf("sum=%d/n",sum);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
种蘑菇的小男孩
2014-03-21 · TA获得超过142个赞
知道答主
回答量:56
采纳率:50%
帮助的人:21.8万
展开全部
int main()
{

int i,n,sum = 0;        // sum 要赋值
i=2;
for(n=1;n<=5;n++) //少了一次循环
{
sum+=i;
i+=2*pow(10,n); // 求幂运算用pow(x,y)  x的y次方
printf("sum=%d\n",sum); // 是'\n',不是'/n'
}
}

再试试看

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飘菲的白色
2014-03-21 · TA获得超过617个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:339万
展开全部
void main()
{
 int i,n,sum;
 i=2;
 for(n=1;n<=4;n++)
 {sum+=i;
 i+=2*10^n;

 }
     printf("sum=%d/n",sum);
 }

printf往下挪一点

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式