标签:
有一颗树,一年两个生长周期,春天它长高一倍,夏天长高1m,问N个周期后树有多高?假设从春天开始树高为1m,第0个周期树高为1m。
要求:1、可以同时输入多个生长周期
如:3//表示下面有几个生长周期
0
1
4
输出结果为:1
2
7
不知道写的对不对,大家看一下啊
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #include <stdlib.h> 5 6 int main() { 7 8 /* Enter your code here. Read input from STDIN. Print output to STDOUT */ 9 int num ;//保存周期个数 10 int array[10];//保存具体的周期 11 int height;//树的高度 12 int i,j,k;//循环变量 13 printf("将要输入的周期数:\n "); 14 scanf("%d",&num);//获取输入 15 if(num <1) 16 num =1; 17 if(num >10) 18 num = 10; 19 20 printf("第几个周期?!\n"); 21 for(i =0 ; i < num; i++) 22 { 23 scanf("%d",&array[i]); //获取周期 24 } 25 26 //循环遍历周期 27 for(j = 0;j <num;j++) 28 { 29 height = 1; 30 //计算每个周期内树的高度 31 for(k=1;k<=array[j];k++) 32 { 33 if(array[j] == 0)//如果第0个周期,树高为1 34 { 35 height = 1; 36 } 37 if(k%2 == 0)//偶数周期加1 38 { 39 height +=1; 40 } 41 else//奇数周期翻倍 42 { 43 height *=2; 44 } 45 } 46 //输出树高 47 printf("第%d个周期树高为:%d\n",array[j],height); 48 49 } 50 51 getchar(); 52 return 0; 53 }
标签:
原文地址:http://www.cnblogs.com/songliquan/p/4412358.html