空心正方形图案(C语言)
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”正方形图案。
输入描述:
多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。
输出描述:
针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。
=======================================================================================================
//多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量
#include <stdio.h>
void p_f1()
{
printf("*");
}
void p_f2()
{
printf(" ");
}
void pattern(int rows)
{
int i = 0, j = 0;
int left = 1;
int right = rows;
for (i = 1; i <= rows; i++)
{
for (j = 1; j <= rows; j++)
{
if ((i == left) || (i == right))
{
p_f1();
}
else
{
if ((j == left) || (j == right))
{
p_f1();
}
else
{
p_f2();
}
}
}
printf("\n");
}
}
int main()
{
int columns = 0;
printf("请输入所形成正方形的边长:>");
scanf("%d", &columns);
pattern(columns);
return 0;
}
输出: 请输入所形成正方形的边长:>9 ********* * * * * * * * * * * * * * * *********#练习题目,谁还有更好的解法##C语言基础练习##C语言#