从键盘输入10个整数(用数组存放),统计其中正数、负数和零的个数,并在屏幕上输出。

2025-03-21 00:15:38
推荐回答(5个)
回答1:

#include 
int main (void)
{
    int a[10],i,j;
    int b=0,c=0,d=0;
    printf("请任意输入十个数:");
    for(i=0;i<10;i++)scanf("%d",&a[i]);
    
    for(j=0;j<10;j++)
    {
        if(a[j]>0) b++;
        if(a[j]=0) c++;
        if(a[j]<0) d++;
    }
    printf("共有%d个正数!共有%d个负数!共有%d个0!",b,d,c);
    return 0;
}

//错误在:
 for(j=0;j<10;j++)
    {
        if(a[j]>0) b++;
        if(a[j]=0) c++;
        if(a[j]<0) d++;
    }
    i,j不分,变量使用错误!

回答2:

scanf("%d",&a[i]);
错误在这行,数组不能这样输入,有问题。
最好设置一个指针,然后将数组和指针关联

回答3:

#include 
int main (void) {
  int a[10],i,j;
  int b=0,c=0,d=0;
  printf("ÇëÈÎÒâÊäÈëÊ®¸öÊý£º");
  for(i=0; i<10; i++)
    scanf("%d",&a[i]);
  for(i=0; i<10; i++) {
    if(a[i]>0)
      b++;
    if(a[i]=0)
      c++;
    if(a[i]<0)
      d++;
  }
  printf("¹²ÓÐ%d¸öÕýÊý£¡¹²ÓÐ%d¸ö¸ºÊý£¡¹²ÓÐ%d¸ö0£¡",b,d,c);
  return 0;
}

循环变量写错了

回答4:

“if(a[i]=0)”
写错了
判断是否相等用"=="

回答5:

for(j=0;j<10;i++)这里错了,应该是j++,下面全部改成a[j];