zoukankan      html  css  js  c++  java
  • POJ 2350 Above Average

    Description

    It is said that 90% of frosh expect to be above average in their class. You are to provide a reality check.

    Input

    The first line of standard input contains an integer C, the number of test cases. C data sets follow. Each data set begins with an integer, N, the number of people in the class (1 <= N <= 1000). N integers follow, separated by spaces or newlines, each giving the final grade (an integer between 0 and 100) of a student in the class.

    Output

    For each case you are to output a line giving the percentage of students whose grade is above average, rounded to 3 decimal places.

    Sample Input

    5
    5 50 50 70 80 100
    7 100 95 90 80 70 60 50
    3 70 90 80
    3 70 90 81
    9 100 99 98 97 96 95 94 93 91

    Sample Output

    40.000%
    57.143%
    33.333%
    66.667%
    55.556%



    简单题 求分数超过平均分的学生的比例
    来看一下WA和AC的代码
    下面是WA的
     1 #include<stdio.h>
     2 int sco[1000+10];
     3 int main()
     4 {
     5     int T,n,i;
     6     double ave;
     7     double res;
     8     scanf("%d",&T);
     9     while(T--)
    10     {
    11         scanf("%d",&n);
    12         ave=0.0;res=0.0;
    13         for(i=0;i<n;i++)
    14         {
    15             scanf("%d",&sco[i]);
    16             ave+=double(sco[i]);
    17         }
    18         ave/=double(n);
    19         for( i=0;i<n;i++)
    20         {
    21             if(sco[i]>ave)res+=1.0;
    22         }
    23         res/=n;res*=100;
    24         printf("%.3lf%%
    ",res);
    25     }
    26     return 0;
    27 }

    下面是AC的

     1 #include<stdio.h>
     2 int sco[1000+10];
     3 int main()
     4 {
     5     int T,n,i;
     6     float ave;
     7     float res;
     8     scanf("%d",&T);
     9     while(T--)
    10     {
    11         scanf("%d",&n);
    12         ave=0.0;res=0.0;
    13         for(i=0;i<n;i++)
    14         {
    15             scanf("%d",&sco[i]);
    16             ave+=float(sco[i]);
    17         }
    18         ave/=float(n);
    19         for( i=0;i<n;i++)
    20         {
    21             if(sco[i]>ave)res+=1.0;
    22         }
    23         res/=n;res*=100.0;
    24         printf("%.3f%%
    ",res);
    25     }
    26     return 0;
    27 }

    就是把double改成了float......



  • 相关阅读:
    std::type_index(转)
    __sync_fetch_and_add系列(转)
    InterlockedIncrement函数详解(转)
    如何让服务端同时支持WebSocket和SSL加密的WebSocket(即同时支持ws和wss)?(转)
    Linux系统管理基础测试
    CentOS7.7源码包安装Cmake3.0
    Shell-三剑客(sed)
    问题-突然发现公司网站访问速度变的很慢很慢
    Linux基础命令之文件及目录管理
    Linux基础命令之进程管理
  • 原文地址:https://www.cnblogs.com/Annetree/p/5639061.html
Copyright © 2011-2022 走看看