php怎么怎么用*号做一个等腰三角形

发布网友 发布时间:2022-04-22 00:21

我来回答

2个回答

热心网友 时间:2023-08-01 10:56

问题不难,给你两个版本,一个是在页面中输出的,一个是在命令行输出的:

页面输出版本,注意,这里为了看起来更加完美,“*”外面使用了<span />进行包装,并设置了样式,同时,空白区域也是使用<span />进行输出的,这样的目的是使用样式控制显示效果:

function printTriangle($len, $char='*') {

$offset = 0;

if ($len % 2 == 0) {

$offset = ceil($len / 2) + 1;

} else {

$offset = ceil(($len - 1) / 2) + 1;

}

for ($i=1; $i<=$len; $i++) {

echo str_repeat('<span style="display: inline-table; width: 10px; height: 10px;">&nbsp;</span>', $len - $i);

echo str_repeat('<span style="display: inline-table; width: 20px; height: 10px; text-align: center;">'.$char.'</span>', $i);

echo '<br />';

}

}

}

2. 命令行版本:注意,输出的星号($char)应该使用全角符号,保证占用两个基本空格的宽度,而空格只是占用半个全角的宽度:

function printTriangle($len, $char='×') {

$offset = 0;

if ($len % 2 == 0) {

$offset = ceil($len / 2) + 1;

} else {

$offset = ceil(($len - 1) / 2) + 1;

}

for ($i=1; $i<=$len; $i++) {

echo str_repeat(' ', $len - $i);

echo str_repeat($char, $i);

echo PHP_EOL;

}

}

热心网友 时间:2023-08-01 10:56

int main()
{
int i,j;
for(i=1;i<=N;++i)
{
for(j=0;j<N+i-1;++j)
{
if(j<N-i)
printf("\40");
else
printf("*");
}
printf("\n");
}
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com