
#include<stdio.h>
int main(){
long long a[4];
long long k,n,t;
scanf("%lld%lld%lld",&a[1],&a[2],&a[3]);
scanf("%lld",&n);
long long sum=0;
while(n--)
{
scanf("%lld%lld",&k,&t);
if(k==0){
sum+=t;
continue;
}
//以下是关键代码,判断当小明走到红绿灯时等的状态
long long temp=t-(sum%(a[1]+a[2]+a[3]));
while(temp<=0)
{
if(k==1)k =3;
else k=k-1;
temp=temp+a[k];
}
if(k==2)
{
sum=sum+temp+a[1];
}
else if(k==1)
{
sum=sum+temp;
}
}
printf("%lld",sum);
return 0;
}
本文分享了一段使用C语言编写的交通信号模拟程序代码,该程序通过输入红绿灯周期时间和车辆到达时间,模拟了小明在不同交通信号状态下的等待时间。代码中包含了关键的逻辑判断和循环结构,展示了如何在C语言中处理复杂的条件判断。
434

被折叠的 条评论
为什么被折叠?



