首页 > 其他分享 >C语言每日一题——第十一天

C语言每日一题——第十一天

时间:2022-10-08 10:23:17浏览次数:42  
标签:第十一天 字符 return temp 契数 int 每日 C语言

第十一天

还记得在第三天写的斐波那契数列程序吗?小明最初想用这个函数作为随机数生成器的。今天,小明决定重新拾起这个函数,用于生成随机数……

输入

程序在运行时通过getchar获取输入,当使用者输入非空白字符时,退出程序。

输出

a b c d e五个字符,每当输入一个空白字符后,根据下一个斐波那契数与5的余数,打印相应的字符。如斐波那契数1与5的余数是1,那么打印第二个字符b。此外,当斐波那契数即将溢出时,重新从头开始获取数字。

提示

由于scanf对换行符的无视处理,请使用getchar获取输入。

样例

执行:main.exe

输出:

:
b
:
c
:
d
:
a
:1

关键

函数的使用,静态变量


解答

#include <stdio.h>
#include <limits.h>


int fab_loop() {
    static int a=1, b=1;
    int temp;

    temp = b;
    b += a;
    a = temp;
    if (a < INT_MAX / 2) {
        return a;
    } else {
        temp = b;
        a = b = 1;
        return temp;
    }
}

int main() {
    int cmd;
    char strings[] = "abcde";
    while (1) {
        printf(":");
        cmd = getchar();
        if (cmd != '\n') {
            break;
        }
        printf("%c\n", strings[fab_loop() % 5]);
    }

    return 0;
}

标签:第十一天,字符,return,temp,契数,int,每日,C语言
From: https://www.cnblogs.com/tobe-goodlearner/p/basic_C_programming-day_11.html

相关文章

  • C语言:随机出题
    #include<stdio.h>//为小学一年级学生随机出10道题,加法或减法随机出现,保证涉及到的数在0-9之间,结果不能出现负数//程序运行输入结果后提示对或错,最后并统计做对了几道......
  • 实现进制转化伪代码的C语言转化
    #include<stdio.h>intmain(){  intx,p;  printf("Enterthenewbase");  scanf("%d",&p);  printf("Enterthenumbertobeconverted"); ......
  • 每日一结
    2.01背包问题初始化物品多一行,价格多一列。ans[0][0]=0;26.删除有序数组中的重复项采用双指针的做法。left=0for(intright=1;right<nums.length;right......
  • 每日总结
    20221007前些天系主任让我们进行民航机票代理市场的预测及可视化题目如下:石家庄铁道大学2022年秋季  20020 级课堂测试试卷-HIVE数据分析课程名称: 大型数据库应用......
  • 【C语言】初始数组
    ......
  • 初探C语言第三天
    选择结构程序设计if语句1.if(判断条件)执行动作;或if(判断条件){执行动作超过一个} 这次没有;​2.if(判断条件)语句1;else 语句2;3.嵌套条件句注意else和上面最接近的if配对,如若有......
  • 初学C语言笔记221007预处理
    预编译:#include头文件的包含    注释删除    #define汇编代码二进制指令预定义符号__FILE____LINE____DATE____TIME____FUNCTION____STDC__如果严格支持AN......
  • 【我开了C语言金手指】二.函数(2)
    (七)函数递归1.什么是递归?程序调用自身的编程技巧;过程或函数在其定义或说明中有直接或间接调用自身的一种方法,把大型复杂问题转化为一个与原问题相似的规模较小的问题来求解;主......
  • C语言——指针(初阶)
    指针是什么指针和指针类型野指针指针运算指针和数组二级指针指针数组一.指针是什么指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。将......
  • 初学C语言笔记221007
    鹏哥花了点时间教大家投资fread返回值是真实读到的元素个数while(fread(&s,sizeof(structS),1,fp){//}课后扩展mySQLfseekftellintpos=ftell(fp); //文件指针相对......