C-细菌繁殖问题
(2019-3-18 一整天的数据结构课。)
问题描述
一种细菌的繁殖速度是每天成倍增长。例如,第一天有10个细菌,第二天就变成20个,第三天变成40个,第四天变成80个……现在给出第一天的日期和细菌数目,写程序求出到某一天的细菌数目。
输入数据
第一行有整数n,表示测试数据的组数。其后n行每行有5个整数,整数之间用一个空格隔开。5个数分别表示第一天的月份、第一天的日期、第一天的细菌数目、要求那一天的月份、要求那一天的日期。已知第一天和要求的那一天在同一年并且该年不是闰年。那一天一定在第一天之后。
输出要求
对于每一组测试数据,输出一行,即要求那天的细菌数。
————————————————————————————————————————————
思考
int e[]={31,28,31,30,31,30,31,31,30,31,30,31};
这里想用借助一个12个元素的数组来记录一年各月份的天数。
经过一天,细菌增加一倍。
细菌数要乘2的t次幂,t表示经过的天数。
1.如果两个日期在同一个月,t只需日期数相减。
2.如果两个日期不同月份,t由三部分组成:
(1)第一天所在月份剩余的天数
(2)要求日期所在月份经过的天数
(3)中间月份经过的天数。(这里借助数组)
————————————————————————————————————————————
C代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int m,t;//组数 日子
int a,b