方法一:先计算菱形中最长"*"的个数,通过交换字符的方法来输出图案。
void step1(int left,int right)
{
char arr1[] ="*************";
char arr2[] =" ";
while((left>1)&&(right<12))
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left--;
right++;
printf("%s\n",arr2);
}
}
void step2(int left,int right)
{
char arr1[] ="*************";
char arr2[] =" ";
while(left != right)
{
arr1[left] = arr2[left];
arr1[right] = arr2[right];
left++;
right--;
printf("%s\n",arr1);
}
}
int main()
{
step1(6,6);
step2(0,12);
return 0;
}
方法二:通过菱形图案的行数,来输出图案。
#include <stdio.h>
int main()
{
int line = 0;
int i = 0;
scanf("%d",&line);
for(i=0; i<line ; i++)
{
int j = 0;
fo