2 jiankeabcd jiankeabcd 于 2016.04.09 16:51 提问

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
qq423399099   Ds   Rxr 2016.04.09 17: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;
    }
}
u013610563
u013610563   2016.04.09 16:59

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

wlh96
wlh96   2016.04.09 17:02

= = , ^是异或运算符~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!