题解 | #记负均正#
记负均正
https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8
#include <stdio.h> int main() { int a, b; while (scanf("%d", &a) != EOF) { int num[a+1],cnt=0,n=0; float sum; for(int i=0;i<a;i++) { scanf("%d",&num[i]); } for(int i=0;i<a;i++) { if(num[i]<0) { cnt++; } if(num[i]>0) { n++; sum+=num[i]; } } if(n==0) { printf("%d %d.0\n", cnt,0); return 0; } printf("%d %.1f\n", cnt,sum/n); } return 0; }
这里需要注意c语言的四舍五入的地方,如果用来求和的变量sum是int类型的,有小数是就会舍弃掉小数部分,若是float类型的,则会根据四舍五入的方法进行小数位保留。