C语言题目运行得到超时错误0
provsz.01.23浏览6次分享举报
for(A;B;C)D其中:A部分是:i=x;B部分是:iy;C部分是:i-=z或者i+=z;D部分是执行部分。告诉你x,y,z的值以及B,C部分中的运算符号,请输出一共循环了几次。五个整数x,y,z,B,C。... for(A;B;C)D
其中:
A部分是:i=x;
B部分是:iy;
C部分是:i-=z或者i+=z;
D部分是执行部分。
告诉你x,y,z的值以及B,C部分中的运算符号,请输出一共循环了几次。
五个整数x,y,z,B,C。
0<=x,y,z<=1000
B=0表示B部分中是iy;
C=0表示C部分中是i-=z,C=1表示C部分中是i+=z;
如果陷入了死循环则输出-1,否则输出一个整数,表示循环的次数。
代码如下:
#include
int main()
{
int x,y,z,b,c;
int i,count=0;
scanf("%d%d%d%d%d",&x,&y,&z,&b,&c);
if(b==0)
{
if(c==0)
{
if(x
printf("-1\n");
else
printf("0\n");
}
else
{
for(i=x;i
count++;
printf("%d\n",count);
}
}
else
{
if(c==0)
{
for(i=x;i>y;i-=z)
count++;
printf("%d\n",count);
}
else
{
if(x<=y)
printf("0\n");
else
printf("-1\n");
}
}
return 0;
}
运行错误为超时Time Limit Exceed。
该怎么优化程序? 展开