博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT (Advanced Level) 1108. Finding Average (20)
阅读量:6892 次
发布时间:2019-06-27

本文共 1289 字,大约阅读时间需要 4 分钟。

简单模拟。

#include
#include
#include
#include
#include
#include
#include
#include
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
='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\n",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\n",sum); else if(geshu==0) printf("The average of 0 numbers is Undefined\n"); else printf("The average of %d numbers is %.2lf\n",geshu,sum/geshu); return 0;}

 

转载于:https://www.cnblogs.com/zufezzt/p/5642702.html

你可能感兴趣的文章
C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 访问频率限制功能实现、防止黑客扫描、防止恶意刷屏...
查看>>
如何在Hyper-V虚拟中安装Hyper-V角色
查看>>
通用XPE操作系统
查看>>
Opentracing Zipkin
查看>>
构建高可用服务器之四 Keepalive冗余Nginx
查看>>
android音频采集
查看>>
SHELL控制流结构笔记
查看>>
路由重分布新技术实现多种路由协议不同网络间通信案例实操应用
查看>>
打印机无法打印测试页
查看>>
【图文详解】Iptables
查看>>
Zabbix-web的中文显示及其乱码问题解决方法
查看>>
Gluster管理命令的总结与归纳
查看>>
FreeNAS如何配置LACP(链路聚合和故障)
查看>>
AJAX 学习笔记[三] get 与post 模式的区别
查看>>
MES技术
查看>>
GO语言练习:网络编程 ICMP 示例
查看>>
ios11--UIButton
查看>>
阿里云海外征战记:跻身全球前三,只用了两年半
查看>>
解密回声消除技术之二(应用篇)
查看>>
Go语言的web程序写法
查看>>