开发者社区> 问答> 正文

我写的代码有什么错?求解释

对于问题:给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。我写的用C写的代码如下:

#include 
#include 
int f(int i,int a);
int main(){
int a,n;
long sum;
scanf("%d%d",&a,&n);
for(int i=1,sum=0;i<=n;i++){
sum+=f(i,a); //对于i的每次循环,调用f函数
}
printf("%ld",sum);
return 0;
}
//对于i变量,求出a*11...11(i个1)
int f(int i,int a){ //例如当i=4
int j;
for(j=0;i>=1;i--){
j+=pow(10,i-1); //当i=4时,则有j=10^3+10^2+10^1+10^0=1111,正好是4个1
}
return a*j; //返回a*1111
}

请问各位大神,我错哪了

展开
收起
a123456678 2016-03-20 11:47:17 1811 0
1 条回答
写回答
取消 提交回答
  • 在这里,j起到的是一个累计的作用,类似于sum,所以要初始化成0........并且要是按你说的改成for(j=0;j>=1;j--),j本来就等于0,还自减,不可能会满足判断条件j>=1的........

    2019-07-17 19:09:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python第五讲——关于爬虫如何做js逆向的思路 立即下载
《0代码搭应用》 立即下载
不止代码 立即下载