掌芝士 发表于 2020-6-22 15:56:40

斐波那契数列换行问题

就是大佬看下我这个我想让他有四个数的时候就换行,所以加了一个if语句,但是他换行并没有体现出来,为啥子啊,萌新求助

永恒的蓝色梦想 发表于 2020-6-22 16:06:21

本帖最后由 永恒的蓝色梦想 于 2020-6-23 10:07 编辑

#include<stdio.h>


int main() {
    unsigned long long a = 1, b = 1, temp;
   
    for(unsigned char i = 0; i < 20; ++i){
      printf("%5llu %5llu ", a, b);
      a += b;
      b += a;
      if (i & 1) {
            putchar('\n');
      }
    }

    return 0;
}

qiuyouzhi 发表于 2020-6-22 16:06:36

if的条件不要加引号啊...这样就是字符串了,而只要不是空字符串都为真

永恒的蓝色梦想 发表于 2020-6-22 16:08:18

qiuyouzhi 发表于 2020-6-22 16:06
if的条件不要加引号啊...这样就是字符串了,而只要不是空字符串都为真

是空字符串也为真。

qiuyouzhi 发表于 2020-6-22 16:10:27

永恒的蓝色梦想 发表于 2020-6-22 16:08
是空字符串也为真。

哦,是吗
看来我想成Python了。

jackz007 发表于 2020-6-22 16:26:41

本帖最后由 jackz007 于 2020-6-22 16:40 编辑

      第 14 行
      if("n % 4 == 7")
      n % 4 可能得到的值是 0 , 1 , 2 , 3,永远不可能是 7!
      再说了,你加上括号是几个意思?
#include <stdio.h>

int main(void)
{
      int a = 1 , b = 1 , c , d            ;
      printf("%18d" , a)                   ;
      for(c = 1 ; c < 40 ; c ++) {
                d = a + b                  ;
                a = b                        ;
                b = d                        ;
                if(! (c % 4)) printf("\n")   ;
                printf("%18d" , a)         ;
      }
      if(! (c % 4)) printf("\n")         ;
      printf("%18d\n" , b)               ;
}
编译运行实况:
D:\bin\00.Exercise\C>g++ -o fib fib.c

D:\bin\00.Exercise\C>fib
               1               1               2               3
               5               8                13                21
                34                55                89               144
               233               377               610               987
            1597            2584            4181            6765
             10946             17711             28657             46368
             75025            121393            196418            317811
            514229            832040         1346269         2178309
         3524578         5702887         9227465          14930352
          24157817          39088169          63245986         102334155
         165580141

D:\bin\00.Exercise\C>

小甲鱼的铁粉 发表于 2020-6-22 17:36:19

我来学习一下

405794672 发表于 2020-6-22 20:35:46

本帖最后由 405794672 于 2020-6-22 20:38 编辑

你加的if中,n%4==7?n取余4怎么可能等于7。它最多等于3。
还有就是引号,引号中有内容,表示为真。那么每次都会执行\n命令

mengxin1 发表于 2020-6-22 20:52:21

666
页: [1]
查看完整版本: 斐波那契数列换行问题