C语言每日一练---Day(14)

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。
今日练习题关键字:统计每个月兔子的总数 数列的和

💓博主csdn个人主页:小小unicorn

⏩专栏分类:C语言天天练

🚚代码仓库:小小unicorn的代码仓库🚚

🌹🌹🌹关注我带你学习编程知识

Day1

题目一:

题目描述:

题目来源:统计每个兔子的总数

有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。

一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?

数据范围:输入满足 :1≤n≤31

解题思路:

1.根据分析每个月兔子的数量,实际为斐波那契数列,前2个元素为1,从第3个元素开始,为前两个元素的和。 3月份:1个兔子a

4月份:1个兔子a

5月份:1个兔子a+生的1个兔子b=2个兔子a、b

6月份:1个兔子a+生的1个兔子b+a又生的1个兔子c=3个兔子a、b、c

7月份:1个兔子a+生的1个兔子b+a又生的1个兔子c+a又生的1个兔子d+b生的1个兔子bb=5个兔子

8月份:...8

9月份:...13

10月份:...21

11月份:...34

2.输入的月份对应斐波那契数列的值

代码实现:

c 复制代码
#include<stdio.h>

int main() 
{

    int arr[32];
    int month;
    arr[1] = 1;
    arr[2] = 1;
    for (int i = 3; i < 32; i++) 
    {
        arr[i] = arr[i - 1] + arr[i - 2];
    }
    scanf("%d", &month);
    printf("%d", arr[month]);

    return 0;
}

结果情况:

符合题目要求,问题得到解决。

题目二:

题目描述:

数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入描述:

输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。

输出描述:

对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

解题思路:

用循环遍历即可轻松实现。

代码实现:

c 复制代码
#include <stdio.h>
#include <math.h>

int main() 
{
    double n = 0.00;
    int m = 0;

    while (~scanf("%lf %d", &n, &m)) 
    {
        double sum = 0.00;//这里不能用float,只能用double
        for (int i = 0; i < m; i++) 
        { //控制m次
            sum += n;
            n = sqrt(n);
        }
        printf("%.2lf\n", sum);
    }

    return 0;
}

结果情况:

符合题目要求,问题得到解决。

总结:

文章到这里就要告一段落了,有更好的想法或问题,欢迎评论区留言。

希望今天的练习能对您有所收获,咱们下期见!

相关推荐
晓蛋2 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
傲世仙尊2 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿2 天前
重载、重写(覆盖)、重定义区别
c语言
phltxy2 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
phltxy2 天前
C 语言中的数据存储:从类型到二进制位
c语言
wuminyu2 天前
HotSpot的轻量锁与膨胀后的ObjectMonitor状态重建原理
java·linux·c语言·jvm·c++
码不停蹄Zzz2 天前
指针用法篇——malloc和free指针详解
c语言
彧azz2 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构
白色的北极熊2 天前
c语言 牛客网 BC15
c语言
老当益壮梁奶奶2 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机