解题思路:
第一次输入一个正整数n,代表电梯要使用n次,每次输入一个楼层数
上升一层用6s,下降一层用4s,每站停5s
分析一下样本输入:
1 2 输入的正整数为1,代表要用1次电梯,输入楼层数为2,计算时间为2*6+1*5=17
3 2 3 1 输入的正整数为3,代表要用3次电梯,输入楼层数为2 3 1,计算时间为2*6+(3-2)*6+(3-1)*4+3*5=12+6+8+15=41
#include <stdio.h>
int main()
{
int n, i;
int a[100];
while (scanf("%d", &n) ,n) {//输入要使用的电梯次数n
int sum = 0;
for (i = 0; i < n; i++)//将输入的电梯层数存到数组里
scanf("%d",&a[i]);
for (i = 0; i < n - 1; i++) {//从第二次使用电梯开始,这个循环才起到作用
if (a[i] < a[i + 1])//后面一层大于前面一层就是上升,用6s
sum += (a[i + 1] - a[i]) * 6;
if (a[i] > a[i + 1])//后面一层小于前面一层就是下降,用4s
sum += (a[i] - a[i + 1]) * 4;
}
sum += a[0] * 6 + n * 5;//最后加上第一次使用电梯的使用时间和每到一层的停靠时间
printf("%d\n", sum);//要加换行符 /n,不然过不了
}
return 0;
}
有错再改