如何找到我的代码中有多少个正数?我的输出错误,请详细说明我的错误在哪里。我希望有所需的确切输出。如果输入6作为n,则将插入六个数字,输出将显示我已插入多少个正数。

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main() {
    int n;
    scanf("%d",&n);
    int arr[n];
    int i;
    int p = 0;
    int arr_i;
    for (arr_i = 0; arr_i < n; arr_i++) {
        scanf("%d",&arr[arr_i]);
    }
    for (i = 0; i < n; i++) {
        int arr_index=i;
        if (arr[arr_index] > 0) {
            p++;
        }
        printf("%d",p);
    }

    return 0;
}

最佳答案

尝试这个:
只需在p循环外打印for

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main() {
    int n;
    scanf("%d",&n);
    int arr[n];
    int i;
    int p = 0;
    int arr_i;
    for (arr_i = 0; arr_i < n; arr_i++)
    {
        scanf("%d",&arr[arr_i]);
    }
    for (i = 0; i < n; i++)
    {
        int arr_index=i;
        if (arr[arr_index] > 0)
        {
            p++;
        }
    }
            printf("%d",p);

    return 0;
}

08-18 10:17
查看更多