PAT 1108 Finding Average

原題鏈接:PAT 1108 Finding Average

The basic task is simple: given N real numbers, you are supposed to calculate their average. But what makes it complicated is that some of the input numbers might not be legal. A legal input is a real number in [?1000,1000] and is accurate up to no more than 2 decimal places. When you calculate the average, those illegal numbers must not be counted in.

Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (≤100). Then N numbers are given in the next line, separated by one space.

Output Specification:
For each illegal input number, print in a line ERROR: X is not a legal number where X is the input. Then finally print in a line the result: The average of K numbers is Y where K is the number of legal inputs and Y is their average, accurate to 2 decimal places. In case the average cannot be calculated, output Undefined instead of Y. In case K is only 1, output The average of 1 number is Y instead.

Sample Input 1:

7
5 -3.2 aaa 9999 2.3.4 7.123 2.35

Sample Output 1:

ERROR: aaa is not a legal number
ERROR: 9999 is not a legal number
ERROR: 2.3.4 is not a legal number
ERROR: 7.123 is not a legal number
The average of 3 numbers is 1.38

Sample Input 2:

2
aaa -9999

Sample Output 2:

ERROR: aaa is not a legal number
ERROR: -9999 is not a legal number
The average of 0 numbers is Undefined

題目大意:

給出一組數,這組數里面存在不合法的值
判斷每個數是否合法,以及輸出合法數的平均值

方法一:模擬

C++ 代碼:

// pat_a_1108#include<iostream>
using namespace std;int main(){int n;cin >> n;int cnt = 0;    // 合法的數的個數double sum = 0;while(n--){string num;cin >> num;double x;bool success = true;    // 是否合法的標志try{size_t idx; // 記錄用了幾個字符x = stof(num, &idx);    //字符串轉化為浮點型if(idx < num.size()) success = false;   //類似與5.2abc 不合法}catch(...){ //表示拋出任何異常success = false;}if(x < -1000 || x > 1000) success = false;int k = num.find('.');  //找到小數點if(k != -1 && num.size() - k > 3) success = false;if(success) cnt ++ , sum += x; else printf("ERROR: %s is not a legal number\n",num.c_str());}// printf("%d\n",cnt);if(cnt > 1) printf("The average of %d numbers is %.2lf\n", cnt, sum / cnt);else if(cnt == 1) printf("The average of 1 number is %.2lf\n", sum);else puts("The average of 0 numbers is Undefined");return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38260.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38260.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38260.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python只讀取Excel文件的一部分數據,比如特定范圍的行和列?

如何只讀取Excel文件的一部分數據&#xff0c;比如特定范圍的行和列&#xff1f; 在Python中&#xff0c;如果你只想讀取Excel文件的特定范圍&#xff0c;可以使用以下方法&#xff1a; pandas: Pandas是一個強大的數據處理庫&#xff0c;它有一個內置函數read_excel()用于讀…

在不修改.gitignore的情況下,忽略個人文件的提交

Git提供了一個assume-unchanged命令&#xff0c;可以將文件標記為“假設未更改”。這意味著Git將忽略該文件的更改&#xff0c;不會將其提交到倉庫中。要使用該命令&#xff0c;只需運行以下命令&#xff1a; git update-index --assume-unchanged <file>其中&#xff0…

邊緣網關帶來的效益探討-天拓四方

邊緣網關作為連接物理世界與數字世界的橋梁&#xff0c;在智能制造、智慧城市等各個領域中發揮著關鍵作用。通過收集、處理來自各種傳感器和設備的數據&#xff0c;邊緣網關為實時決策、優化生產流程以及提高運營效率提供了強有力的支持。下面我們將探討邊緣網關帶來的效益。 …

鏈路全貫通,價值引領數據能力升級|愛分析報告

數據能力已經成為企業的核心競爭力。政策驅動數據產業發展加速&#xff0c;如2023年國家數據局成立&#xff1b;2024年&#xff0c;《“數據要素”三年行動計劃&#xff08;2024-2026年&#xff09;》正式發布&#xff1b;并且 2024年起正式將數據資源視為資產納入財務報表&…

C++——list類用法指南

一、list的介紹 1、list是可以在常數范圍內在任意位置進行插入和刪除的序列式容器&#xff0c;并且該容器可以前后雙向迭代 2、list的底層是雙向鏈表結構&#xff0c;雙向鏈表中每個元素存儲在互不相關的獨立節點中&#xff0c;在節點中通過指針指向其前一個元素和后一個元素 …

yum安裝并初始化PG

獲取yum源 從官網獲取yum源&#xff0c;并安裝rpm包 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm安裝 yum install -y postgresql14-server啟動并初始化 sudo /usr/pgsql-14/bin/postgre…

機器學習-EM算法

目錄 一:最大似然估計 二:EM算法 加入隱變量 EM算法推導 1.Jensen不等式 點個贊唄!!! 一:最大似然估計 舉個栗子:一個袋子里有很多個球,每次放回的取一個球,取了十次,其中有六次白球,4次黑球。那么就認為袋子里面取到白球的概率為6/10,黑球的概率為4/10。…

pytorch-01

加載mnist數據集 one-hot編碼實現 import numpy as np import torch x_train np.load("../dataset/mnist/x_train.npy") # 從網站提前下載數據集&#xff0c;并解壓縮 y_train_label np.load("../dataset/mnist/y_train_label.npy") x torch.tensor(y…

Vue 全局狀態管理新寵:Pinia實戰指南

文章目錄 前言全局狀態管理基本步驟&#xff1a;pinia 前言 隨著Vue.js項目的日益復雜&#xff0c;高效的狀態管理變得至關重要。Pinia作為Vue.js官方推薦的新一代狀態管理庫&#xff0c;以其簡潔的API和強大的功能脫穎而出。本文將帶您快速上手Pinia&#xff0c;從安裝到應用&…

uniapp如何根據不同角色自定義不同的tabbar

思路&#xff1a; 1.第一種是根據登錄時獲取的不同角色信息&#xff0c;來進行 跳轉到不同的頁面&#xff0c;在這些頁面中使用自定義tabbar 2.第二種思路是封裝一個自定義tabbar組件&#xff0c;然后在所有要展示tabbar的頁面中引入使用 1.根據手機號碼一鍵登錄&#xff0c…

SpringMVC的基本使用

SpringMVC簡介 SpringMVC是Spring提供的一套建立在Servlet基礎上&#xff0c;基于MVC模式的web解決方案 SpringMVC核心組件 DispatcherServlet&#xff1a;前置控制器&#xff0c;來自客戶端的所有請求都經由DispatcherServlet進行處理和分發Handler&#xff1a;處理器&…

三個方法教大家學會RAR文件轉換為ZIP格式

在日常工作當中&#xff0c;RAR和ZIP是兩種常見的壓縮文件格式。有時候&#xff0c;大家可能會遇到將RAR文件轉換為ZIP格式的情況&#xff0c;這通常是為了方便在特定情況下打開或使用文件。下面給大家分享幾個RAR文件轉換為ZIP格式的方法&#xff0c;下面隨小編一起來看看吧~ …

在mfc程序中,如何用c++找到exe文件所在的路徑

在 MFC&#xff08;Microsoft Foundation Class&#xff09;程序中&#xff0c;你可以使用 GetModuleFileName 函數來獲取當前運行的可執行文件&#xff08;.exe&#xff09;的路徑。 以下是一個示例代碼&#xff1a; #include <afxwin.h> #include <iostream>in…

KVM性能優化之CPU優化

1、查看kvm虛擬機vCPU的QEMU線程 ps -eLo ruser,pid,ppid,lwp,psr,args |awk /^qemu/{print $1,$2,$3,$4,$5,$6,$8} 注:vcpu是不同的線程&#xff0c;而不同的線程是跑在不同的cpu上&#xff0c;一般情況&#xff0c;虛擬機在運行時自身會點用3個cpus&#xff0c;為保證生產環…

通過MATLAB控制TI毫米波雷達的工作狀態

前言 前一章博主介紹了MATLAB上位機軟件“設計視圖”的制作流程,這一章節博主將介紹如何基于這些組件結合MATLAB代碼來發送CFG指令控制毫米波雷達的工作狀態 串口配置 首先,在我們選擇的端口號輸入框和端口波特率設置框內是可以手動填入數值(字符)的,也可以在點擊運行后…

匯凱金業:投資交易如何才能不虧損

投資交易中永不虧損是一個理想化的目標&#xff0c;現實中無法完全避免虧損。然而&#xff0c;通過科學的方法、合理的策略和嚴格的風險管理&#xff0c;投資者可以大幅減少虧損&#xff0c;并提高長期盈利的概率。以下是一些關鍵策略和方法&#xff0c;幫助投資者在交易中盡量…

【CSRF】

CSRF 原理&#xff1a;誘導用戶在訪問第三方site時&#xff0c;訪問攻擊者構造的site,攻擊者site會對原site進行惡意操作。 burp模擬攻擊&#xff1a; 對一個博客系統點擊發布文章時&#xff0c;Burp Suite抓包&#xff0c;右鍵CSRF PoC功能 -> Engagament tools -> Gen…

洛谷 P3954 [NOIP2017 普及組] 成績

本文由Jzwalliser原創&#xff0c;發布在CSDN平臺上&#xff0c;遵循CC 4.0 BY-SA協議。 因此&#xff0c;若需轉載/引用本文&#xff0c;請注明作者并附原文鏈接&#xff0c;且禁止刪除/修改本段文字。 違者必究&#xff0c;謝謝配合。 個人主頁&#xff1a;blog.csdn.net/jzw…

太陽能輻射系統加速材料老化的關鍵設備光照老化實驗箱

光照老化實驗箱概述 光照老化實驗箱是一種模擬太陽光照射對材料影響的實驗設備&#xff0c;主要用于加速材料的自然老化過程&#xff0c;以此來評估材料在實際使用環境中的耐久性和穩定性。該設備廣泛應用于汽車、航空、建筑、塑料制品等行業&#xff0c;尤其在汽車領域&#…

多商戶b2b2c商城系統怎么運營

B2B2C多用戶商城系統支持多種運營模式&#xff0c;以滿足不同類型和發展階段的企業需求。以下是五大主要的運營模式&#xff1a; **1. 自營模式&#xff1a;**平臺企業通過建立自營線上商城&#xff0c;整合自身多渠道業務。通過會員、商品、訂單、財務和倉儲等多用戶商城管理系…