汽车加油.txt

来自「ACM里面一条cargas题目」· 文本 代码 · 共 115 行

TXT
115
字号
#include "stdafx.h"
int main(int argc, char* argv[])

{

int OilStationNum;//加油站的数目

int MaxDist;      //汽车加满油以后行驶的最大距离

int DiscOfCar;    //汽车一次加油后已经行驶的距离

int Count;

int * OilStationDist;

printf("请输入加油站的段数(用整数表示):");

scanf("%d",&OilStationNum);

printf("------------------------------\n");

printf("汽车加满油以后行驶的最大距离(用整数表示):");

scanf("%d",&MaxDist);

printf("---------------------------------------\n");

OilStationDist=new int [OilStationNum-1];

printf("请输入各各加油站之间的距离:\n");

for (Count=0;Count<=OilStationNum-1;)

{

//

scanf("%d",&OilStationDist[Count]);

if (OilStationDist[Count]<=MaxDist)

Count++;

else

printf("你输入的加油站之间的距离大于汽车加满油以后行驶的最大距离,请重新输入当前距离!\n");

}

printf("-----------------------------------------\n");

printf("下面是你输入的加油站之间的顺序间隔:\n");

for (Count=0;Count<=OilStationNum-2;Count++)

{

//

printf("加油站编号:%d,到下一站距离:%d\n",Count,OilStationDist[Count]);

}

printf("加油站编号:%d,到终点站距离:%d\n",OilStationNum-1,OilStationDist[OilStationNum-1]);

DiscOfCar=0;

Count=0;

while (1)

{

if (DiscOfCar<=MaxDist)

{

//

DiscOfCar+=OilStationDist[Count];

Count+=1;

}

else

{

//

Count-=1;

printf("当前汽车需要在%d号加油站处加油,此时汽车行驶了%d公里\n",Count,DiscOfCar-OilStationDist[Count]);

DiscOfCar=0;

}

if (Count>OilStationNum)

{

printf("当前汽车到达终点,此时汽车距上一次加油行驶了%d公里\n",DiscOfCar-OilStationDist[Count]);

}

if (Count>OilStationNum)  break;

}

return 0;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?