用for编写:输入正整数n,输出n行n列空心四边形图案。
- 提问者网友:原来太熟悉了会陌生
- 2021-04-24 01:14
main()
{
int a,i,j;
scanf("%d",&a);
for( i=0;i<a;i++)
printf("*");
printf("\n");
for(i=0;i<a-2;i++)
{
printf("*");
for(j=0;j<a-2;j++)
printf(" ");
printf("*");
printf("\n");
}
for(i=0;i<a;i++) printf("*");
printf("\n");
} 这是百度上找的,绕来绕去看不懂,哪位高手能简化下,或帮忙理解下……%>_<%
- 五星知识达人网友:英雄的欲望
- 2021-04-24 02:20
呵呵,怎么想也想不出,比这个程序再直观的了,帮你加些注释吧
#include<stdio.h>
main()
{
----------------------------------------------
int a,i,j; //录入字符个数a
scanf("%d",&a);
----------------------------------------------
for( i=0;i<a;i++) //打印第一行a个‘*’
printf("*");
printf("\n");
------------------------------------------------------------------
for(i=0;i<a-2;i++)
{
printf("*"); //打印中间a-2行最左边的'*'
for(j=0;j<a-2;j++) //打印中间a-2行,第一行中的n-2个空白符
printf(" ");
printf("*"); //打印中间a-2行最右边的'*'
printf("\n");
}
------------------------------------------------------------------------
for(i=0;i<a;i++) printf("*"); //打印最后一行a个‘*’
printf("\n");
}
- 1楼网友:纵马山川剑自提
- 2021-04-24 04:08
#include<stdio.h> main() {int n; //定义变量n int i; //定义行变量 int j; //定义列变量
printf("请输入正整数:"); //提示输入参数n scanf("%d",&n); //从键盘读入n的取值
for(j=0;j<n;j++) printf("*"); //输出第一行的"*" printf("\n"); //换行 for(i=1;i<n-1;i++) //执行循环体输出1~n-1行 { printf("*"); //输出第i行第一列的"*" for(j=1;j<n-1;j++) printf(" "); //输出 第i行第j列 到 第i行第j列 的空格
printf("*"); //输出第i行第最后一列的"*"
printf("\n"); //换行 }
for(j=0;j<n;j++) printf("*"); //输出第最后一行的"*"
printf("\n"); //换行 }
- 2楼网友:行路难
- 2021-04-24 03:27