销售波动统计
任务描述
本关任务:假定有一组数据记录着卖场每天(不超过3030天)的销售额(假设都是整数),要求你统计并输出销售的波动情况,即计算每天相对于前一天的销售额的增减情况(即后项减前项的差值)。
例如连续55天的销售额分别是:23 56 12 76 43
,则销售波动情况的输出为:33 -44 64 -33
。
其中:33 = 56 - 23
,-44 = 12 - 56
,以此类推。
具体“犯二的程度”定义如下:
- 该数字中包含 2 的个数与其位数的比值;
- 如果整数是负数,则程度增加 0.5 倍;
- 如果整数是偶数,则再增加 1 倍。
提示:对于本关要求计算不超过100100位的整数,很显然不能使用 int 类型,但可以把输入的一串数字当做字符串处理,使用字符数组来接收输入的整数。
测试输入:8 34 56 234 87 43 98 109 234
(第一个数据表示有 8 天的销售额分,剩下的数据为具体额分)
预期输出:22 178 -147 -44 55 11 125
测试输入:4 0 89 190 289
预期输出:89 101 99
源代码:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int n, a[30], i; // 定义变量及数组,n-销售额个数,a-销售额
cin >> n; // 输入销售额数量,n <= 30
// 输入n个销售额,分别存入a[0]到a[n-1]
for(i = 0; i < n; i++)
cin >> a[i];
// 请在此添加代码,计算并输出销售额的波动情况
/********** Begin *********/
for(i=0;i<=n-3;i++){
cout<<a[i+1]-a[i]<<" ";
}
cout<<a[i+1]-a[i];
/********** End **********/
return 0;
}