下面是“C语言实现循环打印星号图形再镂空”的完整攻略。
基本思路:
- 通过循环嵌套打印出星号图形;
- 按照规定镂空区域,将对应位置上的星号替换为空格。
代码实现:
以下是一份示例代码,仅供参考:
#include<stdio.h>
int main()
{
int i,j,m,n;
printf("请输入一个行数:");
scanf("%d",&n);
for(i=1;i<=n;i++) //打印外部图形
{
for(j=1;j<=n-i;j++)
{
printf(" ");
}
for(m=0;m<2*i-1;m++)
{
printf("*");
}
printf("\n");
}
for(i=1;i<=n-1;i++) //打印内部镂空
{
for(j=1;j<=i;j++)
{
printf(" ");
}
for(m=1;m<=(n-i)*2-1;m++)
{
if(m==1 || m==(n-i)*2-1)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
输入行数,代码中使用了 scanf()
函数获取用户输入的值,使用了循环语句来完成图形的打印。为了更好的阐明实现过程,下面给出两条具体的代码示例说明。
代码示例1:
以下是一份具体的示例代码,该代码输入行数为 5,输出的结果为实心的五角星。
#include <stdio.h>
int main() {
int i, j, n = 5;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++)
printf(" ");
for (j = 1; j <= (2 * i - 1); j++)
printf(" * ");
printf("\n");
}
return 0;
}
上述示例代码中使用了两重循环,第一重循环按行打印空格数,第二重循环按行打印星号数,并在每个字符后面加上三个空格,从而输出更清晰的图形。
代码示例2:
以下是一份具体的示例代码,该代码输入行数为 5,输出的结果为实心的菱形。
#include <stdio.h>
int main() {
int i, j, n = 5;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++)
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
printf("\n");
}
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++)
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
printf("\n");
}
return 0;
}
上述示例代码中,首先打印一个实心的菱形,然后在下方打印出一个空心的菱形。该代码使用了两重循环,并在第二个循环中使用了判断语句,判断是否需要打印星号或者空格,来完成镂空的操作。
以上就是“C语言实现循环打印星号图形再镂空”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现循环打印星号图形再镂空 - Python技术站