计算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);
}
}
这个程序错在哪里呢? 展开
#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);
}
}
这个程序错在哪里呢? 展开
7个回答
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);
}
展开全部
应该这样写:
#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打反了
#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打反了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
这里的^在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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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'
}
}
再试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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往下挪一点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询