- #import <Foundation/Foundation.h>
- #include <math.h>
- /*每个苹果0.8元,第一天买2个苹果,从第二天开始,每天买前一天的两倍,直至购买的苹果个数达到不超过最大值100。编写程序求每天平均花多少钱?*/
- // 分析每天买前一天的两倍可以认为是2的n次方。表达n的x次方用pow(n,x);
- int main(int argc, const char * argv[])
- {
-
- // 记录买苹果开始的天数
- int day = 1 ;
- // 记录买苹果的总数
- int sum = 2 ;
- // 记录第1天买苹果个数
- int num = 2;
- // 总花费
- double totalmoney;
- // 平均花费
- double averagemoney;
- while (num < 100){
- day++;
- // 第n天买苹果个数
- int num = pow(2, day);
- // 判断第n天买苹果个数是否大于100(此处不知道你说的100 是总个数还是当天的个数,暂且按当天个数)。
- if (num>100) {
- break;
- }
- // 将苹果个数累加得到总苹果数。
- sum += num;
- NSLog(@"第%d天买了个%d苹果",day,num);
- NSLog(@"%d天总共买了个%d苹果",day,sum);
- }
- // 总花费
- totalmoney = sum * 0.8;
- // 平均花费(此处day-1是因为判断num>100之前,执行了day++)
- averagemoney = totalmoney/(day-1);
-
- NSLog(@"买苹果花费%f",totalmoney);
- NSLog(@"平均每天花费%f",averagemoney);
-
- return 0;
- }
复制代码 |