这是一道坐电梯的题目:
简单分析:
1、上楼每层花费6s,若停留,则需等待5s,下楼每层花费4s,等待同样需要5s
2、分三部分统计,上楼时间,下楼时间,开始去的楼层的时间
注意:
在比较前一楼与后一楼大小时,要注意for循环的范围,从0~n-1,而不是我们理解的n
#include<stdio.h>
int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
int num[105]={0};
int sum_s=0,sum_x=0,sum=0;
int ext=0;
for(int i=0;i<n;i++)
{
scanf("%d",&num[i]);
}
if(n>1)
{
//考虑范围,是要比总的少1
for(int i=0;i<n-1;i++)
{
if(num[i]<num[i+1])//上楼
{
sum_s=sum_s+(num[i+1]-num[i])*6+5;
//printf("<sum_s:%d>\n",sum_s);
}
else
{
//printf("****\n");
sum_x=sum_x+(num[i]-num[i+1])*4+5;
//printf("<sum_x:%d>\n",sum_x);
}
}
}
ext=(num[0]-0)*6+5;
sum=sum_x+sum_s+ext;
printf("%d\n",sum);
}
}