Я новичок, который начал изучать C. Я хочу написать программу на C, которая помогает пользователям вводить номера.столько, сколько они хотят, и как только они закончат, программа показывает нет.положительных, отрицательных и нулей.Я пытаюсь сделать это с помощью do-while lopp.Он выполняется один раз, но не зацикливается.Я хочу знать, что я здесь делаю не так?
#include <stdio.h>
int main ()
{
int a,p=0,n=0,z=0;
char c;
do
{
printf("enter a no.\n");
scanf("%d", &a);
if (a>0)
{
p++;
}
else if (a==0)
{
z++;
}
else if(a<0)
{
n++;
}
printf("input more no.? y or n\n");
scanf("%c\n", &c);
} while (c=='y');
printf("the total count of positive, negative and zeros are %d %d %d\n", p,n,z);
return 0;
}
Ожидаемый результат:
введите номер.
4
больше нет ввода?y или n
y
введите номер.
3
введите больше номер?y или n
y
введите номер.
-1
введите больше номер?y или n
n
окончательное число положительных, отрицательных и нулей равно 2 1 0
Но фактический выходной сигнал равен:
введите номер.
4
введите больше номер?y или n
y
окончательное число положительных, отрицательных и нулей равно 1 0 0