统计给定的n个数中,负数、零和正数的个数。
如果在循环中输入时使用了换行符
#include<stdio.h>
int main()
{
int i,n,x,a,b,c;//a,b,c分别表示负数,零和正数的个数
a=b=c=0;
scanf("%d\n", &n);
for(i = 1; i <= n; i++)
{
scanf("%d\n", &x);//此处使用了换行符了
if(x > 0) {c+=1;}
if(x==0){b+=1;}
if(x<0){a+=1;}
}
printf("%d %d %d",a,b,c);
return 0;
}
如果输入4,1,0,-1,2,会发现输入结束后并没有出现输出结果,需要再输入一个数才会出现正确结果,如下所示
4
1
0
-1
2
2
1 1 2
删掉换行符后
#include<stdio.h>
int main()
{
int i,n,x,a,b,c;//a,b,c分别表示负数,零和正数的个数
a=b=c=0;
scanf("%d\n", &n);
for(i = 1; i <= n; i++)
{
scanf("%d", &x);//此处删掉了换行符
if(x > 0) {c+=1;}
if(x==0){b+=1;}
if(x<0){a+=1;}
}
printf("%d %d %d",a,b,c);
return 0;
}
再次运行输入4,1,0,-1,2,顺利出现正确结果