用for语句输出V形*(星号)

beney734097916 2010-12-07 08:40:33
刚学C语言不久,对于for循环用得还不什么熟练,想用for语句输出V形*(星号)
请大家给点提示、思路...
...全文
445 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cranium 2010-12-07
  • 打赏
  • 举报
回复
我也写个:

#include <iostream>

using namespace std;

void PrintV(int m)
{
if(m<1)
return ;

int i = 0;
int x = 0;
while(i<=m-i)
{
x=0;
while(x<m+1)
{
if(x==i || x==m-i)
{
cout<<'*';
}
else
{
cout<<' ';
}
x++;
}
cout<<'\n';
i++;
}
}

int main()
{
PrintV(0);

PrintV(1);

PrintV(5);

PrintV(10);

return 0;

}
beney734097916 2010-12-07
  • 打赏
  • 举报
回复
嗯,还有前面的空格要递增,我就是还不什么会控制...
faithzzf 2010-12-07
  • 打赏
  • 举报
回复
其实就是要把握一个规律,就是V中间的空格数变化,每一行的空格数递减
beney734097916 2010-12-07
  • 打赏
  • 举报
回复
谢谢楼上的,写得很详细,我会好好理解的,不过有的知识我还没学到呢,
比如 << 看来我要更努力学才行!
無_1024 2010-12-07
  • 打赏
  • 举报
回复

#include <iostream>

using namespace std;

int main()
{
int n;
cout << "please input n: ";
cin >> n;
for(int i = 0;i < n; i++ )
{
for( int j = 0; j < 2*n; j++ )
{
if( i == n-1 )
{
if( j == i )
cout << "*";
else
{
cout << " ";
}
}
else if(i == j || i == 2*n - j - 1 )
{
cout << "*";
}
else
{
cout << " ";
}
}
cout << endl;
}
return 0;
}
beney734097916 2010-12-07
  • 打赏
  • 举报
回复
不行...
就是用 * 以 V 的形式打印出来
beney734097916 2010-12-07
  • 打赏
  • 举报
回复
* *
* *
* *
* *
*

就是像这样的






就想叫yoko 2010-12-07
  • 打赏
  • 举报
回复
什么意思?
倒三角?
beney734097916 2010-12-07
  • 打赏
  • 举报
回复
不是作业...

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧