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

数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字

  分析:

        我们知道 1-100的整数 i 中,9会出现在十位和个位上,数9出现的次数可以通过以下来实现:

  • 个位是9   // i % 10得到整数 i 个位上的数
  • 十位是9   // i / 10得到整数 i 除了个位数的数字

这也是做这道题之后,我们需要掌握的。思考, 1234想到得到4、12和123如何实现?(先自行思考一下)

1234 % 10    //得到4

1234 / 100      //得到12

1234 / 10   //得到123

 代码实现:

#include<stdio.h>
int main()int count = 0;int i = 0;for (i = 1; i <= 100; i++){if (i % 10 == 9)//个位数是9{count++;printf("%d ", i);}if (i / 10 == 9)//十位数是9{count++;printf("%d ", i);}}printf("\n");printf("%d\n", count);return 0;
}

从这里可以看出,99是算了两次的,所以数字9的出现次数是20 。那下例打印出19,是怎么回事呢?

易错点

#include<stdio.h>
int main()int count = 0;int i = 0;for (i = 1; i <= 100; i++){if (i % 10 == 9)//个位数是9{count++;printf("%d ", i);}else if (i / 10 == 9)//十位数是9{count++;printf("%d ", i);}}printf("\n");printf("%d\n", count);return 0;
}

        从运行结果看出,99少算了一次。对比前一个代码,发现差别仅有分支结构(if-if、if-else if)。

  • if-if条件只要满足就会都会执行if语句;
  • if-else只会执行一个语句,要么是if语句,要么是else语句 。

而这里99首先满足  i % 10 == 9  的判断条件,所以执行完相应语句后,就到for循环的调整语句(i++),没有进入else语句。


期待

 

 

http://www.lryc.cn/news/274403.html

相关文章:

  • 07. HTTP接口请求重试怎么处理?
  • 分割数组的最大差值 - 华为OD统一考试
  • 基于 Python+Django 技术栈,我开发了一款视频管理系统
  • Python从入门到网络爬虫(内置函数详解)
  • Python新年烟花代码
  • oracle语法学习
  • 网络安全常见漏洞类型总结
  • C++自制小游戏《屠夫躲猫猫》
  • LabVIEW在高级结构监测中的创新应用
  • 关于GitHub的git推送命令时报错密码授权失败问题
  • WPF Blend for visual studio使用
  • 云卷云舒:【实战篇】Redis迁移
  • [C#]yolov8-onnx在winform部署手势识别模型
  • 【uniapp】 uniapp 修改tabBar图标大小和navigationBar字体大小
  • Visual Studio 2017 + opencv4.6 + contribute + Cmake(Aruco配置版本)指南
  • 自定义事件总线
  • 212.【2023年华为OD机试真题(C卷)】堆内存申请(排序和贪心算法-JavaPythonC++JS实现)
  • Flink Watermark和时间语义
  • HarmonyOS UI框架简介
  • 编程羔手解决Maven引入多个版本的依赖包,导致包冲突了
  • C#,入门教程(08)——基本数据类型及使用的基础知识
  • 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测
  • 计算机二级Python选择题考点——公共基础部分
  • 《微机原理与应用》期末考试题库(附答案解析)
  • 如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形)
  • 华为机考-手拍球游戏
  • 【线上问题】两台服务器的时间不一致导致jwt解析错误
  • 58.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏菜单文字资源读取的逆向分析
  • Vue-2、初识Vue
  • 机器学习项目标记图像数据 - 安装LabelImg及功能介绍