c语言,通过指针输出某整形数组a[10]的所有元素,正数的个数,负数的个数以及所有元素的和

#include<stdio.h>

void main()
{
int a[10],i,*p,B=0,C=0;
p=a;
printf("Please input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",p);
p++;
}
p=a;
for(i=0;i<10;i++)
printf(" %d",*p++);
printf("\n");
for(i=0;i<10;i++)
scanf("%d",p);
if (p>0)
B++;
if (p<0)
C++;
printf("正整数个数:%d\n负整数个数:%d\n",B,C);
}

修改后的代码:

#include<stdio.h>

int main()
{
    int a[10], i, *p, B = 0, C = 0, sum = 0;
    p = a;
    printf("Please input 10 numbers:\n");
    for(i=0; i<10; i++)
    {
        scanf("%d", p);
        p++;
    }
    p = a;
    printf("原数组: \n");
    for(i=0; i<10; i++)
    {
        if (*p > 0)
            B++;
        if (*p < 0)
            C++;
sum += *p;
        printf("%d ", *p++);
    }
    printf("\n");
    printf("正整数个数:%d\n负整数个数:%d\n总和:%d\n", B, C, sum);
    return 0;
}


输出效果:

温馨提示:答案为网友推荐,仅供参考
相似回答