NEWS DETAIL

1054 求平均值 (20 分)*sscanf和sprintf函数的用法

发布时间:2026/10/12 2:24:53 · 栏目:资讯中心

尧图网络原创建站知识分享正文
本题的基本要求非常简单给定 N 个实数计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数并且最多精确到小数点后 2 位。当你计算平均值的时候不能把那些非法的数据算在内。输入格式输入第一行给出正整数 N≤100。随后一行给出 N 个实数数字间以一个空格分隔。输出格式对每个非法输入在一行中输出ERROR: X is not a legal number其中X是输入。最后在一行中输出结果The average of K numbers is Y其中K是合法输入的个数Y是它们的平均值精确到小数点后 2 位。如果平均值无法计算则用Undefined替换Y。如果K为 1则输出The average of 1 number is Y。输入样例 17 5 -3.2 aaa 9999 2.3.4 7.123 2.35输出样例 1ERROR: 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输入样例 22 aaa -9999输出样例 2ERROR: aaa is not a legal number ERROR: -9999 is not a legal number The average of 0 numbers is Undefined怎么判断是否合法、怎么转换字符串为数字怎么想都没有什么好办法在网上一查原来这么简单AC代码#include bits/stdc.h using namespace std; int main(){ int N,cnt0,i,j; double sum0; scanf(%d,N); for(i0;iN;i){ char s1[100],s2[100]; scanf(%s,s1); double temp; sscanf(s1,%lf,temp); sprintf(s2,%.2lf,temp); int flag0; for(j0;jstrlen(s1);j) if(s1[j]!s2[j]) flag1; if(flag1||temp-1000||temp1000) printf(ERROR: %s is not a legal number\n,s1); else{ sumtemp; cnt; } } if(cnt1) printf(The average of 1 number is %.2lf,sum); else if(cnt1) printf(The average of %d numbers is %.2lf,cnt,sum/cnt); else printf(The average of 0 numbers is Undefined); return 0; }两个函数sscanf(s1,%lf,temp):把s1转化成lf类型存到temp这个变量中提前声明temp变量#include stdio.h #include stdlib.h #include string.h int main() { int day, year; char weekday[20], month[20], dtm[100]; strcpy( dtm, Saturday March 25 1989 ); sscanf( dtm, %s %s %d %d, weekday, month, day, year ); printf(%s %d, %d %s\n, month, day, year, weekday ); return(0); } 输出 March 25, 1989 Saturdaysprintf(s2,%.2lf,temp):把temp这个数按照%.2lf的格式往字符串s2中输出
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/12 17:43:59

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/12 17:44:41

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/12 8:28:31

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/12 15:57:07

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/11 15:39:17

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/12 11:16:12

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询