jiankeabcd
jiankeabcd
采纳率73.9%
2016-04-09 08:51 阅读 1.3k
已采纳

c语言苦恼 求大神解答

设计一个程序,输入一个数字,使其输出此数字以下的所有3的乘方数
例:
[1w1401239 programs0429]$ ./a.out
27
1
3
9
27

这是我自己写的 但是没办法正确输出

 #include<stdio.h>
int main(void){
  int i,j,n;
  scanf("%d",&n);
  for(i=0;i<=23;i++){
    j=j*3;
    printf("%d\n",j);  
    if(j>=n){
      break;
    }
    return 0;  
}
}

现在输入3的平方数是可以正确输出了,但是不是整的平方数得话会多输出一个
,1也没办法输出。
比如输入28 结果应该为1 3 9 27 但现在的输出结果是3 9 27 81

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq423399099 小灸舞 2016-04-09 09:32

    改成下面这样(j最好初始化一下)

     #include<stdio.h>
    int main(void){
        int i,j = 1,n;
        scanf("%d",&n);
        for(i=0;i<=23;i++){
            if(j>=n)
                break;
            else
                printf("%d\n",j); 
            j=j*3;
        }
    }
    
    点赞 1 评论 复制链接分享
  • u013610563 亦楠_把一件事做好 2016-04-09 08:59

    你是不是把return 0的位置放到for循环里面了,应该是在外面吧

    点赞 评论 复制链接分享
  • wlh96 wlh96 2016-04-09 09:02

    = = , ^是异或运算符~

    点赞 评论 复制链接分享

相关推荐