在 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,

更新日期:2019 年 7 月 30 日

497 人次浏览

启动你的 职业

完成课程后获得认证

开始
广告