| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1005 人关注过本帖
标题:[求助]输出结果如下
只看楼主 加入收藏
罗时源
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-10-16
收藏
 问题点数:0 回复次数:9 
[求助]输出结果如下

A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
谢谢了

[此贴子已经被作者于2007-11-1 20:58:43编辑过]

搜索更多相关主题的帖子: 结果 输出 
2007-11-01 20:57
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 

很不明确:
1.要求用什么方法(算法),要是没什么要求的话,你直接把字母搬进去输出不就行了?
2.在哪输出?


Repeat  Life=Study;Until (death);
2007-11-01 21:34
罗时源
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-10-16
收藏
得分:0 
用FOR循环
比如输出 *
***
*****
*******
就这样写
procedure TForm1.Button5Click(Sender: TObject);
var
i,j: integer;
s: string;
begin
for i := 1 to 4 do
begin
for j := 1 to 4-i do
s := s + ' ';
for j := 1 to 2 * i - 1 do
s := s + '*';
s := s + chr(13);
end;
showmessage(s);
end;

end.

怎么那个循环语句
老师今天刚刚讲Delphi




有志者立大志 无志者常立志
2007-11-01 22:45
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
其实就是循环的问题,
提供两个参数的传递
一个就是第一个要输出的字符,
另一个就是输出最大的字符所在的行数或者最大的字符
通过字符的asc码进行递增就可以了。


其实这个用c++实现起来特别的清爽,
不过你用delphi的控制台实现起来也很清爽的。

大家都是朋友,有空就来坐坐!
2007-11-02 09:13
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 

var
i,j,k,l: integer;
s,st: string;

begin

for i := 1 to 4 do
begin
for j := 1 to 4-i do
s := s + ' ';
for j := 1 to 2 * i - 1 do
begin
st:=chr(ord('A')+i-1);
s := s + st;
end;
s := s + chr(13);

end;
for k := 3 downto 1 do
begin
for l := 3-k downto 1 do
s:=s+'';
for j := 2*k-1 downto 1 do
begin
st:=chr(ord('D')-(4-k));
s:=s+st;
end;
s:=s+chr(13);
end;


showmessage(s);
end;


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-11-02 09:26
罗时源
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-10-16
收藏
得分:0 

var
i,j,k,l: integer;
s,st: string;

begin

for i := 1 to 4 do
begin
for j := 1 to 4-i do
s := s + ' ';
for j := 1 to 2 * i - 1 do
begin
st:=chr(ord('A')+i-1);
s := s + st;
end;
s := s + chr(13);

end;
for k := 3 downto 1 do
begin
for l := 3-k downto 1 do
s:=s+'';{ 空格没打出来,看了半天才看出来 }
for j := 2*k-1 downto 1 do
begin
st:=chr(ord('D')-(4-k));
s:=s+st;
end;
s:=s+chr(13);
end;


showmessage(s);
end;

谢谢了 刚学这 你后半部分可不可以不用DOWNTO写 就用都TO怎么写 我脑筋不会把它变过来 太苯了我








有志者立大志 无志者常立志
2007-11-02 13:04
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 
不用downto用to 的話就和你前面差不多了,自己多嘗試一下,控制循環次數就行
s:=s+'';{ 空格没打出来,看了半天才看出来 }
這個在''中加一個空格就行了,

[此贴子已经被作者于2007-11-2 14:04:00编辑过]


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-11-02 14:01
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 

我觉得还是有个downto好,不用downto恐怕要用个判断,增加程序的复杂度.
var
i,j,k,l: integer;
s,st: string;

begin

for i := 1 to 4 do
begin
for j := 1 to 4-i do
s := s + ' ';
for j := 1 to 2 * i - 1 do
begin
st:=chr(ord('A')+i-1);
s := s + st;
end;
s := s + chr(13);

end;
for i :=3 downto 1 do
begin
for j := 1 to 4-i do
s := s + ' ';
for j := 1 to 2 * i - 1 do
begin
st:=chr(ord('A')+i-1);
s := s + st;
end;
s := s + chr(13);
end;
showmessage(s);
end;


Repeat  Life=Study;Until (death);
2007-11-02 15:25
罗时源
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-10-16
收藏
得分:0 
看懂了 thank you !!!!!!
以后还会有问题请教的
不介意吧

有志者立大志 无志者常立志
2007-11-02 19:58
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
呵呵,请教谈不上.我菜鸟一个.
其实5楼的版主的那思路很好的.

Repeat  Life=Study;Until (death);
2007-11-03 00:58
快速回复:[求助]输出结果如下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012655 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved