如何找到我的代码中有多少个正数?我的输出错误,请详细说明我的错误在哪里。我希望有所需的确切输出。如果输入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;
}