zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1108. Finding Average (20)

    简单模拟。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<queue>
    #include<stack>
    #include<algorithm>
    using namespace std;
    
    char s[1000];
    int n;
    int num,num2,pos;
    
    bool f()
    {
        int p=0;
        for(int i=0;s[i];i++)
        {
            if(s[i]>='0'&&s[i]<='9') continue;
            else if(i==0&&s[i]=='-') continue;
            else if(s[i]=='.') {p++; continue;}
            else return 0;
        }
    
        if(p>1) return 0;
    
        pos=strlen(s);
        for(int i=0;s[i];i++) if(s[i]=='.') pos=i;
    
        int hh=strlen(s)-pos-1;
        if(hh>2) return 0;
    
        num=0;
        for(int i=0;i<pos;i++)
        {
            if(s[i]>='0'&&s[i]<='9')
                num=num*10+s[i]-'0';
            if(num>1000) return 0;
        }
        if(num>1000) return 0;
    
        num2=0;
        for(int i=pos+1;s[i];i++)
            num2=num2*10+s[i]-'0';
    
        double a=1.0*num+num2/(pow(10.0,strlen(s)-pos-1));
        if(a>1000.0) return 0;
    
        return 1;
    }
    
    int main()
    {
        scanf("%d",&n);
        double sum=0;
        int  geshu=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%s",s);
            if(f()==0)
                printf("ERROR: %s is not a legal number
    ",s);
            else
            {
                double a=0;
                a=1.0*num+num2/(pow(10.0,strlen(s)-pos-1));
                if(s[0]=='-') a=-a;
                sum=sum+a;
                geshu++;
            }
        }
        if(geshu==1)
            printf("The average of 1 number is %.2lf
    ",sum);
        else if(geshu==0)
            printf("The average of 0 numbers is Undefined
    ");
        else
            printf("The average of %d numbers is %.2lf
    ",geshu,sum/geshu);
        return 0;
    }
  • 相关阅读:
    随笔
    打破生活的套牢
    健忘是种美德
    【转贴】怎样冒充古典高手!
    php数组中删除元素
    JS 总结
    ubuntu apache rewrite
    JS 预览超级大图
    UBUNTU 安装SVN
    Yahoo14条前端优化规则
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5642702.html
Copyright © 2011-2022 走看看