不用循环,不用递归,从1打印到100
如果不用循环、递归、goto,如何才能用 C++ 从 1 打印到 100 ?
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站制作、成都网站建设服务,我们努力开拓更好的视野,通过不懈的努力,创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
看到这样一篇文章。上面有很多种解法,下面介绍几个好理解一点的:
第一种:在代码中执行系统指令
#includeint main() { return system("seq 1 100"); }
第二种:利用信号捕捉
#include#include #include #include #include int i = 0; void sig_alarm_handler(int signal) { ++i; printf("%dn", i); if(i < 100) alarm(1); else exit(0); } int main() { signal(SIGALRM, sig_alarm_handler); alarm(1); int x; scanf(" %d",&x); return 0; }
第三种:利用模板参数与继承特性
#includetemplate struct X : X { X() { printf("%dn", N); } }; template<> struct X<0> {}; int main() { X<100> x; return 0; }
第四种:用静态变量和数组
#includestruct X { static int i; X() { ++i; printf("%dn", i); } }; int X::i = 0; int main() { X arr[100]; return 0; }
就看懂了这几种,感觉简直太神奇了!
文章标题:不用循环,不用递归,从1打印到100
本文地址:http://myzitong.com/article/gsoeco.html