题解 | #记负均正#
记负均正
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; }