[求助]望各位指点指点,只要告诉我思路就可以拉,谢谢
要求输入的图形是这样的*
***
* * *
* * *
* * *
***
*
只要告诉我思路就可以拉,谢谢
搜索更多相关的解决方案:
思路
----------------解决方案--------------------------------------------------------
不太明白你的意思?
输入是这个,那输出呢?
----------------解决方案--------------------------------------------------------
楼主应该是打错字了,将"输出"写成"输入"了..
----------------解决方案--------------------------------------------------------
简单
n 为总行数
i=0 to n 控制行
b=0
j=0 控制打印光标(列)
i<n/2行前 b++
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
i=n/2时
在第j=0,j=n/2,j=n-1;处各打一个 *
i>n/2行后 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
----------------解决方案--------------------------------------------------------
以下是引用lijy520在2007-8-11 22:52:25的发言:
简单
n 为总行数
i=0 to n 控制行 //此处为 i=0 to n-1
b=0
j=0 控制打印光标(列)
i<n/2行前 b++
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
i=n/2时
在第j=0,j=n/2,j=n-1;处各打一个 *
i>n/2行后 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
简单
n 为总行数
i=0 to n 控制行 //此处为 i=0 to n-1
b=0
j=0 控制打印光标(列)
i<n/2行前 b++
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
i=n/2时
在第j=0,j=n/2,j=n-1;处各打一个 *
i>n/2行后 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
不好意思,发错了一个
----------------解决方案--------------------------------------------------------
以下是引用lijy520在2007-8-11 22:52:25的发言:
简单
n 为总行数
i=0 to n 控制行
b=0
j=0 控制打印光标(列)
i<n/2行前 b++
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
i=n/2时
在第j=0,j=n/2,j=n-1;处各打一个 *
i>n/2行后 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
简单
n 为总行数
i=0 to n 控制行
b=0
j=0 控制打印光标(列)
i<n/2行前 b++
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
i=n/2时
在第j=0,j=n/2,j=n-1;处各打一个 *
i>n/2行后 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
应改为
n 为总行数
i=0 to n 控制行
b=0
j=0 控制打印光标(列)
i<=n/2 时 b++
i>n/2 时 b--
每行在第"j=n/2-b+1,j=n/2,j=n/2+b-1"处各打一个 *
----------------解决方案--------------------------------------------------------
具体函数主体为
cin>>n;
for(i=0;i<n;i++)
{
if(i<=n/2)
b++;
else
b--;
for(j=0;j<n;j++)
{
if(j==n/2-b+1||j==n/2||j==n/2+b-1)
cout>>"*";
else
cout>>" ";
}
}
我没调试,你调看看,不知道对不对的.
----------------解决方案--------------------------------------------------------
以下是引用lijy520在2007-8-11 23:22:32的发言:
具体函数主体为
cin>>n;
for(i=0;i<n;i++)
{
if(i<=n/2)
b++;
else
b--;
for(j=0;j<n;j++)
{
if(j==n/2-b+1||j==n/2||j==n/2+b-1)
printf("*");
else
printf(" "); //俩处被我改了,我调了下cout<<'*'不行,还没弄懂为什么呢
}
printf("\n"); //此处忘了,现在加上
}
具体函数主体为
cin>>n;
for(i=0;i<n;i++)
{
if(i<=n/2)
b++;
else
b--;
for(j=0;j<n;j++)
{
if(j==n/2-b+1||j==n/2||j==n/2+b-1)
printf("*");
else
printf(" "); //俩处被我改了,我调了下cout<<'*'不行,还没弄懂为什么呢
}
printf("\n"); //此处忘了,现在加上
}
[此贴子已经被作者于2007-8-12 10:09:41编辑过]
----------------解决方案--------------------------------------------------------