从键盘上输入10个整数,统计并且输出其中的正数和负数的个数

#include <stdio.h>
void main()
{
int a[10],i,n=0,m=0;
printf("请输入10个整数\n");
for (i=1;i<=10;i++)
scanf("%d",&a[i]);
for (i=1;i<=10;i++)
{
if(a<0)
n++;
if(a>0)
m++;
}
printf("正数的个数为%d\n负数的个数为%d\n",m,n);
}
大家看看是哪里有问题,输入负数统计不出来,0也被当成正数了

printf("Hello World!\n");
int a[10],i,n=0,m=0;
printf("请输入10个整数\n");
for (i=0;i<10;i++)//
scanf("%d",&a[i]);
for (i=0;i<10;i++)//
{
if(a[i]<0)
n++;
if(a[i]>0)
m++;
}
printf("正数的个数为%d\n负数的个数为%d\n",m,n);
getchar();
getchar();
用这个就好了,for语句问题i=0;i<10;i++ 你的越界了。
判断条件是a[i],而不是a ,a是个地址常数而且大于0
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答