在 C/C++ 中不使用循环或条件判断打印 1 至 1000
下面我们将展示如何在不使用循环或任何条件语句的情况下打印 1 至 1000。既然不能使用循环,那么我们可以尝试使用递归,但这里还有另一个限制,即我们也不能使用条件判断。因此,不会使用递归的基本情况。
这里我们使用静态成员解决此问题。首先,我们将静态成员初始化为 1,然后在构造函数中打印该值并增加其值。现在创建该类的 1000 个对象,于是创建了 1000 个不同的对象,所以构造函数被调用了 1000 次。这样我们就可以打印 1 至 1000。
示例
#include<iostream> using namespace std; class PrintN { public: static int value; PrintN() { cout<< value++ <<", "; } }; int PrintN::value = 1; //initialize to 1 main() { int N = 1000; PrintN obj[N]; //create an array of size 1000 to create 1000 objects }
输出
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, .... 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
广告