如下两图,不清楚利用数组该如何作图,两张图都只会一行一行打出来,不知道该怎么利用循环去打印。
我自己的思路是一行一行打,在列那边用循环,但我觉得应该是行列都可以用循环,但不知道如何去使用循环。
如下两图,不清楚利用数组该如何作图,两张图都只会一行一行打出来,不知道该怎么利用循环去打印。
我自己的思路是一行一行打,在列那边用循环,但我觉得应该是行列都可以用循环,但不知道如何去使用循环。
打印菱形:
// len是指对角线长度,只能是奇数
void func(int len)
{
// 打印第一行
string str(len/2,' ');
cout<<str<<"*"<<str<<endl;
// 打印第二行到中间行
for(int i=1;i<=len/2;++i)
{
string str1(len/2-i,' ');
int nums = (len-2)-2*(len/2-i); // 减去两个*,再减去左右的空位
string str2(nums,' ');
cout<<str1<<"*"<<str2<<"*"<<str1<<endl;
}
// 打印中间行下一行到倒数第二行
for(int i=1;i<len/2;++i)
{
string str1(i,' ');
int nums = (len-2)-2*i;
string str2(nums,' ');
cout<<str1<<"*"<<str2<<"*"<<str1<<endl;
}
// 打印最后一行
cout<<str<<"*"<<str<<endl;
}
有用请采纳哦,谢谢!