C语言打印空心*形正方形(用函数来写)
展开全部
#include<stdio.h>
int main (void)
{
int x, y, num;
printf ("请输入正方形的边长:");
scanf ("%d", num);
for (x = 0; x < num; x++) {
for (y = 0; y < num; y++) {
if (x == 0 || y == 0 || x == num - 1 || y == num - 1) {//正方形的4条边,如果符合
printf ("*");//打印*
}
else {//其他
printf (" ");//打印空格
}
}
}
return 0;
}
另外一种方法:
一行一行的输出
1、输出n个*
2、输出一个*,n-2个空格,一个*
3、循环第二步n-2次
4、输出n个*
int main (void)
{
int x, y, num;
printf ("请输入正方形的边长:");
scanf ("%d", num);
for (x = 0; x < num; x++) {
for (y = 0; y < num; y++) {
if (x == 0 || y == 0 || x == num - 1 || y == num - 1) {//正方形的4条边,如果符合
printf ("*");//打印*
}
else {//其他
printf (" ");//打印空格
}
}
}
return 0;
}
另外一种方法:
一行一行的输出
1、输出n个*
2、输出一个*,n-2个空格,一个*
3、循环第二步n-2次
4、输出n个*
追问
能不能用函数写啊
追答
可以
void printsquare (int num) {
int x, y;
for (x = 0; x < num; x++) {
for (y = 0; y < num; y++) {
if (x == 0 || y == 0 || x == num - 1 || y == num - 1) {//正方形的4条边,如果符合
printf ("*");//打印*
}
else {//其他
printf (" ");//打印空格
}
}
}
}
int main (void)
{
int num;
printf ("请输入正方形的边长:");
scanf ("%d", num);
printsquare (num);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询