首先,做这种题,肯定要先做图,分析形状的位置关系,我采用的是for循环来输出。
开始前,模板先打好
#include<stdio.h>
int main()
{
return 0;
}
首先存储要输出的菱形边长及字符(可以不要),然后在输出菱形上边(以n=5为例)
对于左边,外循环用i,内循环用j,分析点位,则关系式j==5-i-1,右边同理j==5+i+1
当j与i满足上面这个关系时,则输出字符,否则输出空格
则代码段
for(i=0;i<n;i++){
for(j=0;j<2*n-1;j++){
if(j==n+i-1||j==n-i-1)
printf("%c",ch);
else
printf(" ");
}
printf("\n");
}
注意i和j的范围,显然,不论上下,j都是<2*n-1,上边i从0开始,到n-1,下层从n开始,到2n-1,所以i循环的条件的就知道了。