C/C++,打印整数1到1000,不使用循环,条件语言
不使用循环,条件语句 打印整数 1-1000精彩纷呈的擂台赛
=====================
附注 : 自然语句少于50条,
每个语句要自然,不要长的太夸张以至于跑到视线以外了。
=====================
三目运算符?: 其实也是条件语句,排除在外。 重复100遍printf语句应该不算吧? #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();
}
3# xbtianlang
:dizzy:
我又改了要求了,打印1-1000
不介意吧,呵呵 反正就是不让一个一个printf。
我奇怪的是为什么每行都是从大到小排列! 5# xbtianlang
因为printf的参数入栈在一般的PC机上是从后往前的。 比如,打印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;
} #include <stdio.h>
main()
{
int c=0;
loop: (1000-c)? printf("%3d ",++c): exit(0);
goto loop;
}
这个也不算?!
#include <stdio.h>
int foo(int n){
printf("%d\n",n>1?foo(n-1):1);
return n+1;
}
int main()
{
foo(1000);
}
#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);
}