鱼C论坛

 找回密码
 立即注册
查看: 999|回复: 8

[已解决]斐波那契数列换行问题

[复制链接]
发表于 2020-6-22 15:56:40 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就是大佬看下我这个我想让他有四个数的时候就换行,所以加了一个if语句,但是他换行并没有体现出来,为啥子啊,萌新求助
最佳答案
2020-6-22 16:26:41
本帖最后由 jackz007 于 2020-6-22 16:40 编辑

        第 14 行
  1.         if("n % 4 == 7")
复制代码

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

  2. int main(void)
  3. {
  4.         int a = 1 , b = 1 , c , d            ;
  5.         printf("%18d" , a)                   ;
  6.         for(c = 1 ; c < 40 ; c ++) {
  7.                 d = a + b                    ;
  8.                 a = b                        ;
  9.                 b = d                        ;
  10.                 if(! (c % 4)) printf("\n")   ;
  11.                 printf("%18d" , a)           ;
  12.         }
  13.         if(! (c % 4)) printf("\n")           ;
  14.         printf("%18d\n" , b)                 ;
  15. }
复制代码

编译运行实况:
  1. D:\bin\00.Exercise\C>g++ -o fib fib.c

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

  14. D:\bin\00.Exercise\C>
复制代码
IMG_20200622_155320.jpg
IMG_20200622_155252.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-22 16:06:21 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-6-23 10:07 编辑
  1. #include<stdio.h>


  2. int main() {
  3.     unsigned long long a = 1, b = 1, temp;
  4.    
  5.     for(unsigned char i = 0; i < 20; ++i){
  6.         printf("%5llu %5llu ", a, b);
  7.         a += b;
  8.         b += a;
  9.         if (i & 1) {
  10.             putchar('\n');
  11.         }
  12.     }

  13.     return 0;
  14. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-22 16:06:36 | 显示全部楼层
if的条件不要加引号啊...这样就是字符串了,而只要不是空字符串都为真
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

是空字符串也为真。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 16:10:27 | 显示全部楼层

哦,是吗
看来我想成Python了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 16:26:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-6-22 16:40 编辑

        第 14 行
  1.         if("n % 4 == 7")
复制代码

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

  2. int main(void)
  3. {
  4.         int a = 1 , b = 1 , c , d            ;
  5.         printf("%18d" , a)                   ;
  6.         for(c = 1 ; c < 40 ; c ++) {
  7.                 d = a + b                    ;
  8.                 a = b                        ;
  9.                 b = d                        ;
  10.                 if(! (c % 4)) printf("\n")   ;
  11.                 printf("%18d" , a)           ;
  12.         }
  13.         if(! (c % 4)) printf("\n")           ;
  14.         printf("%18d\n" , b)                 ;
  15. }
复制代码

编译运行实况:
  1. D:\bin\00.Exercise\C>g++ -o fib fib.c

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

  14. D:\bin\00.Exercise\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 17:36:19 | 显示全部楼层
我来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 20:35:46 | 显示全部楼层
本帖最后由 405794672 于 2020-6-22 20:38 编辑

你加的if中,n%4==7?n取余4怎么可能等于7。它最多等于3。
还有就是引号,引号中有内容,表示为真。那么每次都会执行\n命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 20:52:21 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 06:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表