当前位置: 代码迷 >> C语言 >> 打印这个图形用for循环做;
  详细解决方案

打印这个图形用for循环做;

热度:510   发布时间:2007-09-29 17:33:51.0
利用字符串和一个控制变量,可以把循环压成两重,甚至是一重。。。
----------------解决方案--------------------------------------------------------
普遍的用空间换时间的方法
是个方法
----------------解决方案--------------------------------------------------------

应大家要求再简
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,a;
printf("请输入一个数");
scanf("%d",&a);
for (i=-(a-1);i<=a-1;i++)
{
for (j=1;j<=abs(i);j++)
printf(" ");
for (j=(abs(i)-a+1);j<=abs(abs(i)-a+1);j++)
printf("%d",a-abs(j));
printf("\n");
}
}
如果找到库函数能输出定位就可以连for (j=1;j<=abs(i);j++)
printf(" ");
也不要了.


----------------解决方案--------------------------------------------------------
还可以再简



by 雨中飞燕 QQ:78803110 C/C++讨论群:5305909
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------
能再简也要简得有意义才行.我拭目以待.LS
----------------解决方案--------------------------------------------------------
真的还可以再简。。。

类似的上次好像也写过。。本版找找!!
----------------解决方案--------------------------------------------------------
程序并不在你的kb大小,而是效率啊
当然程序小,效率高,容易读
当然好
----------------解决方案--------------------------------------------------------

[QUOTE]
利用字符串和一个控制变量,可以把循环压成两重,甚至是一重。。。
[/QUOTE]
我就是说如果运行速度同样快的话为什么还要这样子


----------------解决方案--------------------------------------------------------
运行速度同样快的话,程序当然越短越容易理解越好
不过我习惯性地压缩了一小下,main里面变5行了

#include <iostream>
#include <cmath>
using namespace std;
#define PC(x) putchar(x)
int main()
{
int n,y,x;
cin>>n;//或者scanf("%d", &n);
for(y=-n+1;y<n;++y)
for(x=-n+1;x<n||(PC(10),0);++x)
abs(x)+abs(y)<n?PC('0'-abs(x)+n):PC(' ');
return 0;
}


by 雨中飞燕 QQ:78803110 C/C++讨论群:5305909
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------
c style of c++
楼上c学的不错啊
----------------解决方案--------------------------------------------------------
  相关解决方案