<分区>
计算输入中 +ve、-ve 和零数的程序。for 循环中的 printf 语句执行了多次。如何更正此代码。计数正确但输出不是预期格式.
#include<stdio.h>
main()
{
int n,pc,nc,zc;
char s;
pc=nc=zc=0;
for(;1;) {
printf("do you wanna enter: y/n\n");
s=getchar();
if(s=='y') {
printf("enter num:\n");
scanf("%d",&n);
if(n>0) {
pc+=1;
}
if(n<0) {
nc+=1;
}
if(n==0) zc+=1;
}
if(s=='n') break;
}
printf("No.of +ve num: %d \n",pc);
printf("No.of -ve num: %d \n",nc);
printf("No.of zeroes: %d \n",zc);
}
输出:
xplorer@kali:~/Desktop/docs/yk/chap3$ ./a.out
do you wanna enter: y/n
y
enter num:
4
do you wanna enter: y/n
do you wanna enter: y/n
y
enter num:
8
do you wanna enter: y/n
do you wanna enter: y/n
y
enter num:
-7
do you wanna enter: y/n
do you wanna enter: y/n
n
No.of +ve num: 2
No.of -ve num: 1
No.of zeroes: 0