星星的排列算法(C++或C语言)
写以下图形的输出方法:说明是如何思考的()*******************************...
写以下图形的输出方法:说明是如何思考的()
*******
*****
***
*
***
*****
******* 展开
*******
*****
***
*
***
*****
******* 展开
展开全部
/*
**把图看成两个上下对称的部分
**两部分都是4行,只不过是相反的顺序,
**所以写一个两层循环的语句即可,
**只要让i分别递减和递增即可得这两个部分的图
**有问题Hi我
*/
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
//第一部分图,从i=4开始递减至1
for(i=4;i>=1;i--) //第一层循环控制行数
{
j=i*2-1;
k=j/2;
while((3-k)>0) //控制空格输出次数
{
cout<<" ";
k++;
}
while(j>0) //控制符号“*”输出次数
{
cout<<"*";
j--;
}
cout<<'\n'; //一行输出结束
}
//第二部分图,从i=1开始递增至4
for(i=1;i<=4;i++)
{
j=i*2-1;
k=j/2;
while((3-k)>0)
{
cout<<" ";
k++;
}
while(j>0)
{
cout<<"*";
j--;
}
cout<<'\n';
}
return 0;
}
**把图看成两个上下对称的部分
**两部分都是4行,只不过是相反的顺序,
**所以写一个两层循环的语句即可,
**只要让i分别递减和递增即可得这两个部分的图
**有问题Hi我
*/
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
//第一部分图,从i=4开始递减至1
for(i=4;i>=1;i--) //第一层循环控制行数
{
j=i*2-1;
k=j/2;
while((3-k)>0) //控制空格输出次数
{
cout<<" ";
k++;
}
while(j>0) //控制符号“*”输出次数
{
cout<<"*";
j--;
}
cout<<'\n'; //一行输出结束
}
//第二部分图,从i=1开始递增至4
for(i=1;i<=4;i++)
{
j=i*2-1;
k=j/2;
while((3-k)>0)
{
cout<<" ";
k++;
}
while(j>0)
{
cout<<"*";
j--;
}
cout<<'\n';
}
return 0;
}
展开全部
for (i = 9; i >= 1; i--)
{
i--;
for (j = 0; j <= (10 - i) / 2 - 1; j++)
{
System.out.print(c1);
}
for (m = 0; m <= i; ++m)
{
System.out.print(c2);
}
System.out.print("\n");
}
for (i = 0; i < 10; i++)
{
i++;
for (j = 0; j <= (9 - i) / 2; j++)
{
System.out.print(c1);
}
for (m = 0; m <= i - 1; ++m)
{
System.out.print(c2);
}
System.out.print("\n");
注:第一层循环控制列数,第二场控制行数。
}
{
i--;
for (j = 0; j <= (10 - i) / 2 - 1; j++)
{
System.out.print(c1);
}
for (m = 0; m <= i; ++m)
{
System.out.print(c2);
}
System.out.print("\n");
}
for (i = 0; i < 10; i++)
{
i++;
for (j = 0; j <= (9 - i) / 2; j++)
{
System.out.print(c1);
}
for (m = 0; m <= i - 1; ++m)
{
System.out.print(c2);
}
System.out.print("\n");
注:第一层循环控制列数,第二场控制行数。
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询