鱼C论坛

 找回密码
 立即注册
查看: 1293|回复: 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 行
        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>
IMG_20200622_155320.jpg
IMG_20200622_155252.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> 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 行
        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>
想知道小甲鱼最近在做啥?请访问 -> 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, 2025-1-13 13:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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