1108 Finding Average

#include<iostream>

#include<string>

#include<cstring> // strlen()

#include<cstdio>

#include<iomanip>

using namespace std;

int main(){

int n, cnt = 0;

char a[50], b[50];

cin >> n;

double tmp = 0.0, sum = 0.0;

for(int i = 0; i < n; i++){

cin >> a;

// 使用sscanf将字符串转换为double形式

if(sscanf(a, "%lf", &tmp) != 1){

cout << "ERROR: " << a << " is not a legal number" << endl;

continue;

}

// 使用sprintf将tmp格式转换为两位小数

sprintf(b, "%.2f", tmp);

int flag = 0;

int len = strlen(a);

// 检查原始字符串和格式化后的字符串是否一致

for(int j = 0; j < len; j++){

if(a[j] != b[j]){

flag = 1;

break;

}

}

// 如果格式不一致或超出范围

if(flag != 0 || tmp < -1000 || tmp > 1000){

cout << "ERROR: " << a << " is not a legal number" << endl;

continue;

} else {

sum += tmp;

cnt++;

}

}

// 输出结果

if(cnt == 0){

cout << "The average of 0 numbers is Undefined" << endl;

} else if(cnt == 1){

cout << "The average of 1 number is "

<< fixed << setprecision(2) << sum << endl;

} else {

cout << "The average of " << cnt << " numbers is "

<< fixed << setprecision(2) << sum / cnt << endl;

}

return 0;

}

相关推荐
老赵聊算法、大模型备案3 小时前
2025 年 12 月北京市生成式人工智能服务备案分析:政务场景再扩容,合规生态更聚焦
人工智能·算法·microsoft·aigc·政务
liuyao_xianhui3 小时前
山脉数组的峰顶索引_优选算法_二分查找法
算法
炽烈小老头3 小时前
【每天学习一点算法 2025/12/15】环形链表
学习·算法·链表
点云SLAM3 小时前
算法复杂度分析之——空间复杂度分析和标准库算法与容器操作的复杂度实际案例分析(3)
算法·深度优先·空间复杂度·算法性能分析·标准库算法
Liangwei Lin3 小时前
洛谷 P5788 【模板】单调栈
算法
京东零售技术3 小时前
ACL 2025 | 一种用于电子商务query意图分类的半监督可扩展统一框架
算法
晨晖24 小时前
顺序栈的入栈函数
数据结构
AA陈超4 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-18.生成火球术
c++·游戏·ue5·游戏引擎·虚幻
wxin_VXbishe4 小时前
springboot居家养老管理系统-计算机毕业设计源码55953
java·c++·spring boot·python·spring·django·php