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;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇