当前位置: 首页 > news >正文

while 与 do-while 的底层逻辑对决-算平均数

需求: 让用户输入一系列的正整数,最后输入 -1 表示输入结束。然后程序计算出这些数字的平均数,输出输入的数字个数和平均数。

在这道题里,-1 并不是一个要参与计算的数据,它是一个“哨兵(Sentinel)”或者叫停止暗号。这就意味着,我们的代码逻辑必须像安检一样:在把数字放进 sum(总和)之前,必须先查验它是不是 -1。

while循环

while的核心哲学是:先检查,再放行。
因为要先检查,所以我们在到达 while 大门之前,手里必须先拿着一个数据

intmain(){intnumber;intsum=0;intcount=0;scanf("%d",&number);while(number!=-1){sum+=number;count++;scanf("%d",&number);}printf("%f\n",1.0*sum/count);// 1.0 的妙用:强制触发浮点数运算,防止整数除法精度丢失!return0;}

痛点: 被迫写了两次 scanf,看起来稍微有些啰嗦。

优点: 逻辑极其严密,绝不可能把毒药 -1 吃进肚子里。

do while循环

do-while的核心哲学是:不管三七二十一,先进门干活,出门前再查。

intmain(){intnumber;intsum=0;intcount=0;do{scanf("%d",&number);// 如果不加这个 if,-1 就会被加进 sum 里,导致全盘算错。if(number!=-1){sum+=number;count++;}}while(number!=-1);printf("平均数是: %f\n",1.0*sum/count);}return0;}

痛点: 循环体内部必须硬生生塞进去一个 if 判断来做防御。

优点: 只需要写一次 scanf。

http://www.gsyq.cn/news/1584297.html

相关文章:

  • 【MATLAB】山地复杂地形无人机航路规划仿真
  • GPT-5.6 Agent安全实战:提示注入攻防SOP与企业权限治理手册
  • 丹东黄金白银回收铂金旧金回收无套路门店 TOP 榜单 实地测评资料整理
  • 微信QQ消息防撤回工具原理与部署指南:钩子技术与内存拦截解析
  • 基于 C++ 实现的(控制台)考试系统
  • Spring AI 2.x 深度技术解析:从架构重构到企业级落地
  • 先导02:SECS\-I 串口 \+ HSMS 以太网完整通信底层原理
  • Meta 员工跟踪计划因安全漏洞暂停,内部数据收集引隐私担忧
  • 抚顺黄金白银回收铂金旧金回收无套路门店 TOP 榜单 实地测评资料整理
  • 先导01:SEMI 行业标准体系总览 E4/E5/E37/E87/E40/E94 完整拆解
  • UNiTY疑难杂症
  • Google研究:对话式医疗系统AMIE升级,管理推理能力不劣于人类医生!
  • Python:第11天:异常处理 —— 让程序不轻易崩溃
  • 2026 年企业级大模型API聚合网关选型实录:十款主流平台技术横评与场景匹配
  • 三年累亏超3亿、现金流持续为负,思必驰凭什么再闯科创板?
  • 告别GitHub英文困扰:5分钟实现中文界面的完整指南
  • AI教材写作必备:低查重AI工具,助你快速打造精品教材!
  • 6个本科绿牌专业薪资大揭秘,3S专业就业差距在哪?
  • Kubernetes 日志快速定位
  • 手把手教你从0到1搭建一个AI Agent(智能体)
  • 2026气液增压器品牌格局重塑:国际、台系与国产的三方博弈
  • 洛雪音乐六音音源终极修复指南:5分钟恢复完整音乐体验
  • 知名的GPRC5D(Detergent)膜蛋白厂家名声
  • 如何快速上手AlienFX Tools:Alienware灯光、风扇和电源控制的终极指南
  • AppFlowy:开源的 Notion 替代品,72000+ Star
  • Windows Cleaner终极指南:如何快速解决C盘空间不足的完整方案
  • 塔米德数智科技本土: AI 全域营销服务商,解析 GEO 优化落地价值
  • AMD Ryzen SMU Debug Tool完整教程:5分钟掌握专业级CPU调试技巧
  • Sentieon | TNscope 分析流程详解
  • 开放式耳机性能怎么样?2026年开放式蓝牙耳机十大排行