题解 | #记负均正#
记负均正
https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8
#include <stdio.h>
int main() {
int n;
int num[2000];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num[i]);
}
int negativeNum = 0; //如果不初始化,会得到错误结果
for (int i = 0; i < n; i++) {
if (num[i] < 0) {
negativeNum++;
}
}
float positiveNumAverage;
int positiveNum = 0;
int total = 0;
for (int i = 0; i < n; i++) {
if (num[i] > 0) {
total += num[i];
positiveNum++;
}
}
if (positiveNum != 0) {
positiveNumAverage = (float)total / positiveNum; //注意这里的类型转换,否则向下取整得不到正确结果
} else {
positiveNumAverage = 0;
}
printf("%d %.1f", negativeNum, positiveNumAverage);
return 0;
}
查看22道真题和解析