如何查找我的代码中有多少正数?我收到错误的输出,请详细解释我的错误在哪里。我希望得到所需的确切输出。如果我输入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;
}
答案 0 :(得分:0)
试试这个:
只需在'1'
循环之外打印p
。
for
答案 1 :(得分:0)
你需要使用malloc分配动态内存 - 希望这有帮助
#include <stdio.h>
#include <stdlib.h>
int main() {
char c;
int n;
scanf("%d", &n);
int * arr;
int i;
int p = 0;
arr = (int *)malloc(n * sizeof(int));
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
if (arr[i] > 0)
{
p++;
}
}
printf(" %d", p);
return 0;
}