题解 | #记负均正II#

记负均正II

https://www.nowcoder.com/practice/64f6f222499c4c94b338e588592b6a62

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() 
{
    float aver,n=0.0,m=0.0;
    long s[50000],num;
    int i,k=0,l=0,sum=0;
    while (scanf("%ld\n", &num)==1) 
    {
    s[l] = num;
    l++;
    }
    for(i=0;i<l;i++)
    {
    if(s[i]<0)
    k++;
    else
    {
    if(s[i]>0)
    {
    sum=sum+s[i];
    n=n+1.0;
    }
    }
    continue;
    }
    if(k==0)
    {
    printf("%d\n",k);
    aver=sum/n;
    printf("%.1f",aver);
    }
    else
    {
    if(n!=0)
    {
    printf("%d\n",k);
    aver=sum/n;
    printf("%.1f",aver);
    }
    else {
    if(n==0)
    {
    printf("%d\n",k);
    printf("0.0");
    }
    }
    }
}
利用while语句,将输入的数赋值给数组元素,利用循环判断每个元素正负性,结合标记n和k,记录负数和正数个数,最后判断有没有负数及是否全为负数或有负有正来决定输出。

#牛客创作赏金赛#
全部评论

相关推荐

点赞 评论 收藏
分享
赛博小保安:不行你就找点东西继续干干直接等明年走社招吧,学历差的在秋招真的没戏。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务