【C/C++】对于编写程序的思维,一个感悟
2020-08-08 20:37
751 查看
编写程序:1到 100 的所有整数中出现多少次数字9
首先,我想着可以考虑通过字符串查找匹配,强制类型转换来做,然而没有成功,可能是因为现在还是初级水平的原因吧。然后去万能的百度上看了一下,换了种思路写:
int i = 0; for (i=0; i < 100; i++) { if ((i % 10 == 9) || ((i / 10) == 9)) printf("%d ",i); }
这是正确的程序。这段代码没有单纯的让计算机去执行一个机械的比对操作,它是通过题目中的数学逻辑来确定算法思路。
终于理解为什么程序员都爱掉头发了,确实编程中有一些机械重复的搬砖工作,但当要解决一个问题时,需要运用到数学知识,算法,问题本身的个性化特点等方方面面大胆千方百计的去解决它。
这个过程不是粗暴的机械动作,而是需要细心观察,逻辑思考,消耗大量的脑力,使得程序携带着自己的思维,解法。
用C++解决该问题的代码:
#include<iostream> using namespace std; class OprateNum { public: void InitNum() { for (int i = 0; i < 101; i++) { num[i] = i; } } void Display() { for (auto ele : num) { cout << ele << ' '; } cout << endl; } void find9() { for (auto ele : num) { if ((ele % 10 == 9) || ((ele / 10) == 9)) cout << ele << ' '; } cout << endl; } private: int num[101]; }; void main() { OprateNum Num; Num.InitNum(); Num.Display(); Num.find9(); }
相关文章推荐
- 练一练思维缜密程度。有程式xyz+yzz=532,其中x、y、z都是整数,用c++编写一个程序,求x、y、z分别代表什么数字
- Linux下,使用C/C++编写一个简单的消息处理程序
- 编写一个C++风格的程序,计算输出Fibonacci数列的前20项
- 对于是否在一个python程序中编写函数的启发
- 编写一个c++程序来编译运行java
- 编写一个程序,对于小于1000的正整数,通过实验确定期望产生多少个数才能出现重复。
- 算法训练整除问题,编写一个程序,输入三个正整数min、max和factor,然后对于min到max之间的每一个整数(包括min和max),如果它能被factor整除,就把它打印出来。
- 编写一个函数,实现把C/C++程序代码中的注释去掉,并把结果返回。
- 一个C++编写的控制台程序
- 从易到难编写C++程序,(8)问题:实现一个矩阵类
- 一个简单关于学生成绩管理的C++程序代码,但是对于拷贝析构函数目前还是不知其作用何在
- 程序 c/c++、Java编写一个统计小程序
- CentOS 6.5 下编写一个简单的C++程序
- 用C++编写一个随机产生多个两位数四则运算式子的简单程序
- 关于程序员面试宝典中5.8节面试例题:编写一个函数,实现把C/C++程序代码中的注释去掉……答案的分析
- /编写一个程序, 对于二维数组 b[2][3]={{1,2,3},{4,5,6}}, 验证*(*(b+i)+j)、 *(b[i]+j)、 //(*(b+i))[j]与 b[i][j]是相同的。
- c++编写一个简单的数据库程序
- 如何用CodeBlocks分多个文件编写一个C++程序
- 用C++编写一个使用嵌套循环的程序
- C++实现复数类,并用其编写一个Mandelbrot程序