您的位置:首页 > 编程语言 > C语言/C++

【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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐