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

c

3个回答

改成下面这样(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;
    }
}

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

= = , ^是异或运算符~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐