C 输出菱形
受泽发来的贺电- -嗯……数学不是很好所以码了有一会儿吧。
数学不好搞算法好吃力……
输出比如下面一样的菱形:
*
***
*****
*******
*****
***
*
关键在于空格与*
的分布。
常量与变量说明:LINE
(总行数,这里的算法使得LINE必须是奇数)now
目前行数,block
* 的数量 space
空格的数量
这里不写具体数字是因为搞定了输入输出之后可以把LINE作为变量,用变量来输出更大的菱形。
限制是不适合偶数,所以这个写法不是很完美(在提供输入选项时)
#include <stdio.h>
#define LINE 7
main(void)
{
int now, space, block;
for (now = 1; now <= LINE;now++) {
if (now <=(LINE/2 + 1)) {
for (space = ((LINE/2 + 1) - now); space > 0; space--) {
printf(" ");
}
for (block = 1; block <= now * 2 - 1; block++) {
printf("*");
}
}
if (now > (LINE/2 + 1)) {
for (space = (now - (LINE/2 + 1)); space > 0; space--) {
printf(" ");
}
for (block = (LINE - now) * 2 + 1; block > 0; block--) {
printf("*");
}
}
printf("\n");
}
return 0;
}
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。
这个是期末考试题
你们期末考试是上机的吗 听说我们是笔试 而且考的很简单OTZ无法直视
for(i=1;i<=10;i++)
{
}
for(i=9;i>=1;i--)
{
}
这是指定的行数 其实分为上下两部分三角形就行了