如有 int a[10],如果有负数将所有的负数变为正数,然后输出奇数、偶数、素数和 完数的个数。
#include<stdio.h>int main()
{int a[10],i,j=0,p=0,l=0,q=0,s;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{if(a[i]<0)
a[i]=-a[i];
for(i=0;i<10;i++)
{
if(a[i]%2==0)
j++;
else
p++;}
for(p=2;p<=a[i];p++)
{ if(a[i]%p==0)
break;
if(p>a[i])
l++;
}s=0;for(p=2;p<=a[i];p++)
{if(a[i]%p==0)
s+=p;
}if(s==a[i])
q++;
}printf("奇数是%d,偶数是%d,素数是%d,完数是%d",j,p,l,q);
}结果是错的,找了半天也没发现,求大佬帮忙