Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34251
  • 博文数量: 14
  • 博客积分: 260
  • 博客等级: 二等列兵
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-11 10:46
个人简介

白黑

文章分类

全部博文(14)

文章存档

2012年(14)

我的朋友

分类: C/C++

2012-09-26 10:46:21


  1. /*打印1——1000范围内的整数,但不能使用循环和条件语句,更不能使用1000次printf函数*/

  2. #include <stdio.h>
  3. #define LOW 1 //打印的起始值
  4. #define HIGH 1000 //终点值 (LOW<=HIGH)

  5. void YesPrint(int i);//打印i
  6. void NoPrint(int i); //打印换行符

  7. typedef void (*fnptr)(int); //函数指针

  8. fnptr display[] = {YesPrint,NoPrint};//函数指针数组
  9. int
  10. main()
  11. {
  12.     YesPrint(LOW);
  13.     return 0;
  14. }

  15. void YesPrint(int i)
  16. {
  17.     printf("%-5d", i);
  18.     display[i / HIGH](i+1); //在i没达到HIGH之前i / HIGH总是为0,这样就可以递归调用YesPrint
  19. }

  20. void NoPrint(int i)
  21. {
  22.     printf("\n");
  23. }

阅读(821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~