一个小菜鸟逐渐崩溃
题目: 统计给定的n个数中,负数、零和正数的个数代码如下
#include<stdio.h>
int main()
{
int n,i,l;
int a,b,c;
scanf("%d",&n);
a=0;
b=0;
c=0;
for(i = 1;i<=n;i++)
{
scanf("%d",&l);
if(l<0)
a++;
if(l == 0)
b++;
else
c++;
}
printf("%d %d %d\n",a,b,c);
return 0 ;
}
当我输入6 0 1 2 3 -1 0时,输出应该是1 2 3 但是我的输出结果是124我是哪里出错了呢 #include<stdio.h>
int main()
{
int n,i,l;
int a,b,c;
scanf("%d",&n);
a=0;
b=0;
c=0;
for(i = 1;i<=n;i++)
{
scanf("%d",&l);
if(l<0)
a++;
else if(l == 0) // 修改
b++;
else
c++;
}
printf("%d %d %d\n",a,b,c);
return 0 ;
} zltzlt 发表于 2020-10-4 21:01
谢谢您嘞{:10_256:} zltzlt 发表于 2020-10-4 21:01
为啥它这加个else if就正常了?按理来说光一个if也可以,求解 Jacksturdy 发表于 2020-10-4 21:04
为啥它这加个else if就正常了?按理来说光一个if也可以,求解
因为照楼主那样写如果 l 不等于 0 就会执行 c++,不管 l 是不是大于 0 zltzlt 发表于 2020-10-4 21:05
因为照楼主那样写如果 l 不等于 0 就会执行 c++,不管 l 是不是大于 0
哦,对,我记得小甲鱼说过,else和最近的if结合,哈哈
页:
[1]