C++常考笔试题:不用if,while,do-while,for,打印出所有大于0小于k的整数.函数原型void printLess(int k);
解法一:递归方式(刚想出来)
- #include <iostream>
- using namespace std;
- void printLess(int k)
- {
- switch(--k)
- {
- case 0:return;
- default:
- cout << k << endl;
- printLess(k);
- }
- }
- int main()
- {
- printLess(10);
- }
解法二:类方式
- class Test
- {
- public:
- static int k;
- Test()
- {
- cout << k++ << endl;
- }
- };
- int Test::k = 1;
- void _printLess(int k)
- {
- //Test t[k-1];
- for (int i = 0;i<m-1;i++)
{
Test Array;//创建类对象,在对象创建的时候,自动调用构造函数,即完成了自动输出
} - }
本文介绍了一道常见的C++面试题:如何在不使用if、while、do-while、for等循环结构的情况下打印出0到k的所有整数。提供了两种解法,一种是通过递归实现,另一种则是利用类的构造函数特性完成任务。
474

被折叠的 条评论
为什么被折叠?



