Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 编写一个程序输入数字,直到用户需要为止,最后应显示输入的正、负和零的计数?_C_Loops_Break - Fatal编程技术网

C 编写一个程序输入数字,直到用户需要为止,最后应显示输入的正、负和零的计数?

C 编写一个程序输入数字,直到用户需要为止,最后应显示输入的正、负和零的计数?,c,loops,break,C,Loops,Break,我为上面给出的问题编写了以下代码,但它没有给出所需的程序。请帮助我 int num = 0; int q = 0; int n = 0; int z = 0; int p = 0; char ask; for(q=0;1>2;q++) { printf("enter the number you want\n"); scanf("%d",&num); if

我为上面给出的问题编写了以下代码,但它没有给出所需的程序。请帮助我

  int num = 0;
  int q = 0;
  int n = 0;
  int z = 0;
  int p = 0;
  char ask;
    for(q=0;1>2;q++)
    {
        printf("enter the number you want\n");
        scanf("%d",&num);
        if(num>0)
        {
            p++;
        }
        else if(num<0)
        {
            n++;
        }
        else
        {
            z++;
        }
        printf("do you want to enter another number?\n");
        printf("do you?");
        scanf("%c",&ask);
        if(ask=='y')
        {
            continue;
        }
        else if(ask=='n')
        {
            break;
        }

    }
int num=0;
int q=0;
int n=0;
int z=0;
int p=0;
查问;
对于(q=0;1>2;q++)
{
printf(“输入您想要的号码\n”);
scanf(“%d”和&num);
如果(数值>0)
{
p++;
}
否则如果(num
#包括
int main(){
int num=0;
int q=0;
int n=0;
int z=0;
int p=0;
查问;
对于(q=0;q++)
{
printf(“输入您想要的号码\n”);
scanf(“%d”和&num);
如果(数值>0)
{
p++;
}
否则如果(num
#包括
int main()
{
int n,正=0,负=0,零=0;
printf(“\n输入数字(-1终止):”;
scanf(“%d”和“&n”);
而(n!=-1)
{
如果(n>0)
{
阳性++;
}
else if(n<0)
}
否定++;
}
其他的
{
零++;
}
scanf(“%d”和“&n”);
}
printf(“\n正片数为:%d”,正片);
printf(“\n底片数量为:%d”,底片);
printf(“\n零的数量为:%d”,零);
返回0;
}

对不起,应该是1。我建议您使用调试器查看
ask
的实际值。这不是您所期望的。还要记住,
for
循环的所有子句都可以省略。如果您不想要特定的条件,而只是继续的循环,您可以使用
for(;)
。或者如果您确实需要在某个地方使用
q
,则使用
for(q=0;;++q)
您没有初始化任何变量,因此您可以得到任何结果。@AyushChopra“不工作”是什么意思?编译错误?运行时错误?我的代码中有什么错误?请告诉menum,q,n,z,p未初始化,这意味着它将是随机的,也可以扫描,因为y/n前面必须有一个空格,否则它不会接受输入。您能告诉我在下面吗在什么情况下我们必须在这种(scanf“%c”和&ask)类型的语句中保留空格它应该几乎总是在那里。否则它将读取打印的最后一个字符您介意添加一个关于此代码如何提供解决方案的简要说明吗?
#include <stdio.h>

int main() {
int num = 0;
int q = 0;
int n = 0;
int z = 0;
int p = 0;
char ask;
for(q=0;;q++)
{
    printf("enter the number you want\n");
    scanf("%d",&num);
    if(num>0)
    {
        p++;
    }
    else if(num<0)
    {
        n++;
    }
    else
    {
        z++;
    }
    printf("do you want to enter another number?");
    scanf(" %c",&ask);
    if(ask=='y')
    {
        continue;
    }
    else if(ask=='n')
    {
        break;
    }

}
#include <stdio.h>

int main()
{
    int n,positives=0,negatives=0,zeros=0;

    printf("\nEnter numbers(-1 to terminate): ");
    scanf("%d", &n);

    while(n != -1)
    {
        if(n > 0)
        {
            positives++;
        }
        else if(n < 0)
        }
            negatives++;
        
        }
        else
        {
            zeros++;
        }
        scanf("%d", &n);
    }
            printf("\nThe number of positives is: %d", positives);
            printf("\nThe number of negatives is: %d", negatives);
            printf("\nThe number of zeros is: %d", zeros);

    return 0;
}