题目大意:一部可上行可下降的电梯,最开始停在0层。工作过程中,电梯上升一层需要6s而下落一层需要4s,停留一层时间则为5s。现输入一个正整数N,后跟N个正整数,代表N次电梯的行为。输出为电梯执行N次花费的总时间。
注意:N=0时程序终止。另外,譬如电梯从5层下降至2层,5层停留5s,2层也停留5s,但3、4层是直接略过不作停留的。
代码为
#include<stdio.h>
int main()
{
int i , pan , n , sum;
while (scanf("%d" , & n) != EOF)
{
int dat[101] = {0};
if(n == 0)
break;
for(i = 0 ; i < n ; i++)
scanf("%d" , & dat[i]);
sum = 6 * dat[0] +5 ;
for(i = 1 ; i < n ; i ++)
{
pan = dat[i] - dat[i-1];
if(pan > 0)
sum = sum + pan * 6 + 5;
else
sum = sum - pan * 4 + 5;
}
printf("%d\n" , sum);
}
return 0;
}
理解题意后,编程即可。