1. 程式人生 > >輸入n個數,判斷正數.負數.0的個數

輸入n個數,判斷正數.負數.0的個數

#include<stdio.h>
int main()
{
	float p[100];
	int i, m, n, k, l;
	m = 0; k = 0; l = 0;

	scanf_s("%d", &n);
	printf("請輸入%d個數:", n);
	for (i = 0; i < n; i++)
	{
		scanf_s("%f", &p[i]);
		if (p[i]>0)
			m++;
		else if (p[i] < 0)
			k++;
		else if (p[i] == 0)
			l++;
	}
	printf("正數個數為:%d\n", m);
	printf("負數個數為:%d\n", k);
	printf("0個數為:%d\n", l);
	return 0;
}

方法2(動態記憶體分配法)

#include<stdio.h>
#include<stdlib.h>
int main()
{
    float *p;
    p=(float *)malloc(100*sizeof(float));
    int i, m, n, k, l;
    m = 0; k = 0; l = 0;

    scanf("%d",&n);
    printf("請輸入%d個數:",n);
    for (i = 0; i < n; i++)
    {
        scanf("%f",p+i);
        if(p[i]>0)
            m++;
        else if (p[i] < 0)
            k++;
        else if (p[i] == 0)
            l++;
    }
    printf("正數個數為:%d\n", m);
    printf("負數個數為:%d\n", k);
    printf("0個數為:%d\n", l);
    return 0;
}
總結:第二種方法較第一種方法優化 第一種方法浪費儲存空間