注册 登录
编程论坛 C++教室

[求助]求助一个非常简单的输出星号的问题

small_bike 发布于 2007-07-26 01:36, 1568 次点击

要求输出:
*
***
*****
*******
*****
***
*

我的程序:
#include<iostream.h>
int main()
{
for(int i=1;i<=7;i+=2 )
{
for(int j=1;j<=i;j++)
cout<<"*";//控制一次循环的*的个数
cout<<endl;
}
for(int l=5;l>=1;l-=2)
{
for(int a=5;a>=l;a--)
cout<<"*";
cout<<endl;//输出一行后换行
}
return 0;
}

结果输出的是:
*
***
*****
*******
*
***
*****

谁能告诉我怎么改?

6 回复
#2
a84517272007-07-26 03:13

#include <iostream>
using namespace std;

int main()
{
int i,j;
int number;
cout<<"Enter number:";
cin>>number;
for(i=number;i>0;i--){
for(j=number;j>i;j--)
cout<<"*";
cout<<endl;

}
for(i=0;i<number;i++){
for(j=i;j<number;j++)
cout<<"*";
cout<<endl;
}
return 0;
}

#3
圆圆的鸟蛋2007-07-26 03:19

帮你改了一下:
#include<iostream.h>
int main()
{
for(int i=1;i<=7;i+=2 )
{
for(int j=1;j<=i;j++)
cout<<"*";

cout<<endl;
}
for(int l=5;l>=1;l-=2)
{
for(int a=l;a>=1;a--) //注意这里和你原来的区别
cout<<"*";

cout<<endl;
}
return 0;
}

#4
gxslkz2007-07-26 09:12

#include<iostream>

using namespace std;
int main()
{
for(int i=1;i<=7;i+=2 )
{
for(int j=1;j<=i;j++)
cout<<"*";//控制一次循环的*的个数
cout<<endl;
}
for(int l=5;l>=1;l-=2)
{
for(int a=1;a<=l;a++)
cout<<"*";
cout<<endl;//输出一行后换行
}
return 0;
}

#5
small_bike2007-07-26 11:22

谢谢
想问下,从下往上打印是怎么实现的啊,有些看不明白,即:先打印出"*",最后打印出"*****"?

[此贴子已经被作者于2007-7-26 11:25:50编辑过]

#6
Hevin1232007-08-23 00:02

建议用个数组,便于输出是的控制,当然要是用MFC可能简单点吧

#7
善哉善哉2015-03-14 22:32
共同进步
1