c程自学者的紧急问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:10:22
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。
例:括号内是说明
输入
3 (repeat=3)
2 -8 0
输出
1 (x=2时y=1)
-1 (x=-8时y=-1)
0 (x=0时y=0)

#include <stdio.h>
int main( )
{
int ri, repeat;
int x, y;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d",&x);
/*---------*/
printf("%d\n",y);
}
}
我这么做#include <stdio.h>
int main(void)
{
int ri, repeat;
int x, y;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d",&x);
if(x>0)y=1;
else if(x=0)y=0;
else if(x<0)y=-1;
printf("%d\n",y);
}
return 0;
}到底错哪了??

判断语句那错了:
else if(x=0)y=0; ( = 是赋值符,不是判断符)
else if(x<0)y=-1;

这两句改为:
else if(x==0) y=0;
else y=-1

修改后如下:
#include <stdio.h>
int main(void)
{
int ri, repeat;
int x, y;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++)
{
scanf("%d",&x);
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
printf("%d\n",y);
}
return 0;
}