wayne 发表于 2011-7-12 23:24:13

C/C++,打印整数1到1000,不使用循环,条件语言

不使用循环,条件语句 打印整数 1-1000
精彩纷呈的擂台赛
=====================
附注 : 自然语句少于50条,
每个语句要自然,不要长的太夸张以至于跑到视线以外了。
=====================
三目运算符?: 其实也是条件语句,排除在外。

liangbch 发表于 2011-7-13 10:38:33

重复100遍printf语句应该不算吧?

xbtianlang 发表于 2011-7-13 11:46:03

#include <stdio.h>
main()
{ int c=0;
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
printf("%d\t%d\t%d\t%d\t%d\n",++c,++c,++c,++c,++c);
getchar();
}

wayne 发表于 2011-7-13 11:54:37

3# xbtianlang
:dizzy:
我又改了要求了,打印1-1000
不介意吧,呵呵

xbtianlang 发表于 2011-7-13 11:59:48

反正就是不让一个一个printf。
我奇怪的是为什么每行都是从大到小排列!

wayne 发表于 2011-7-13 12:01:43

5# xbtianlang
因为printf的参数入栈在一般的PC机上是从后往前的。

wayne 发表于 2011-7-13 12:11:12

比如,打印fib数列:#include<stdio.h>
int main(){
int ii,a=1,b=1;
for(ii=0;ii<15;++ii)
printf("%d\t%d\t",a,b=a+b,a=a+b);
return 0;
}

xbtianlang 发表于 2011-7-13 16:14:43

#include <stdio.h>
main()
{
      int c=0;
loop: (1000-c)? printf("%3d ",++c): exit(0);
      goto loop;
}
这个也不算?!

mathe 发表于 2011-7-13 18:08:37


#include <stdio.h>
int foo(int n){
printf("%d\n",n>1?foo(n-1):1);
return n+1;
}
int main()
{
    foo(1000);
}

mathe 发表于 2011-7-13 18:13:49


#define P(x) printf("%d\n",x)
#define P2(x) P(x);P(x+1)
#define P4(x) P2(x);P2(x+2)
#define P8(x) P4(x);P4(x+4)
#define P16(x) P8(x);P8(x+8)
...
#define P512(x) P256(x);P256(x+128)
int main()
{
    P512(1);
   P256(513);
   P128(769);
   P64(897);
   P32(961);
   P4(993);
P2(998);
}
页: [1] 2 3 4 5
查看完整版本: C/C++,打印整数1到1000,不使用循环,条件语言