作业标题(721)
打印菱形
作业内容
用C语言在屏幕上输出以下图案:
思路:
该图案有13行,中间一行有13个*,为一个轴图案
每一行的区别只有空格和*的数量不同
第一种代码:
int main()
{
int line = 0;
int i = 0;
scanf_s("%d", &line);//7
for (i = 0; i < line; i++)
//打印上半部分和中间一行
{
//打印空格
int j = 0;
for (j = 0; j < line - 1 - i; j++)
{
printf(" ");
}
//打印*
for (j = 0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
//打印下半部分
//和上半部分反着来
for (i = 0; i < line - 1; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
第二种代码:
int main() {
int n = 0;
scanf_s("%d", &n);//13
int i = 0;
int j = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= fabs((n + 1) / 2 - i); j++)
printf(" ");
for (j = 1; j <= n - 2 * fabs((n + 1) / 2 - i); j++)
printf("*");//一行中除了空格就是*号
printf("\n");
}