简单的C语言程序,为什么输出始终是0啊?

Problem Description 统计给定的n个数中,负数、零和正数的个数。 Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。 Output 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。 Sample Input 6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0 Sample Output 1 2 3 0 0 5 我的程序: #include<stdio.h> main() { int n,i,a,b,c; double s; while(scanf("%d",&n)!=0) { a=0; b=0; c=0; for(i=1;i<=n;i++) { scanf("%d",&s); if(s<0) {a=a+1;} if(s=0) {b=b+1;} if(s>0) {c=c+1;} } printf("%d %d %d",a,b,c); } }

第1个回答  2020-07-19
见程序中的注释。
#include<stdio.h>
main()
{
int
n,i,a,b,c;
double
s;
while(scanf("%d",&n)!=0)
//这里没判断n的值,改为while(scanf("%d",&n)!=0
&&
n!=0)
{
a=0;
b=0;
c=0;
for(i=1;i<=n;i++)
{
scanf("%d",&s);
//这里把整数送到double数中了,改为scanf("%lf",&s);
if(s<0)
{a=a+1;}
if(s=0)
//这里改为if(s==0)
{b=b+1;}
if(s>0)
{c=c+1;}
}
printf("%d
%d
%d",a,b,c);
}
}
第2个回答  2020-08-06
见程序中的注释。#includemain(){int
n,i,a,b,c;double
s;
while(scanf("%d",&n)!=0)
//这里没判断n的值,改为while(scanf("%d",&n)!=0
&&
n!=0)
{
a=0;
b=0;
c=0;
for(i=1;i

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网