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

又有个关于简单的打印*的题目需要师兄们指点下

孤魂居士 发布于 2007-06-04 13:22, 1092 次点击
这个题目老潭的C语言书上有 但是讲解的是死程序 就是说只打印出死的 不是任意输入任意打印出来的 我上午想了很就 还是不知道这算法怎么搞  希望师兄门再指点下``

题目是这样:
打印出:


         * * * * *
          * * * * *
         * * * * *
          * * * * *
           * * * * *

主要是打印出活的 
例如这是5--5的星型
假如输入的是2就打印出 2--2的星型  * *
                       * *

假如输入是3就打印3--3的星型:

            * * *
             * * *
            * * *

谢谢师兄指点下````


  
                   
14 回复
#2
孤魂居士2007-06-04 13:36

师兄门帮帮我``
#3
aipb20072007-06-04 14:28
[CODE]#include<iostream>
using namespace std;

int main(){
int n;
cin >> n;
for (int i = 0;i < n;++i){
for (int j = 0;j < n+i;++j)
cout << (j < i ? " " : "* ");
cout << endl;
}
system("pause");
return 0;
}[/CODE]

这样的题目很死啊,记住都是用嵌套循环。

#4
孤魂居士2007-06-04 15:11


我知道都用嵌套循环,但是那个循环不知道怎么循``该怎么套 我试着套了一上午 中午上机的时候还是有错误``

``循环语法一老出错``老潭的C++书还有3版的C语言书讲的关于应用循环好少 呜``用起来好吃力啊` 我都把C学完了 循环用起来还是很吃力``

一个两个循环还好 一多 我就不知道把我循到哪里去了
师兄``
有没有专讲解循环的资料 推荐点给我看看哦`` 必当感激不尽` `
你写的这个程序有点看不懂 太强了```
#5
aipb20072007-06-04 15:22
循环 怎么会有专门的资料讲解,不是很复杂的东西。

你多练习就好了。
你看不懂cout << (j < i ? " " : "* ");
这个吧,
换成
if (j < i)
cout << " ";
else
cout << "* ";
#6
孤魂居士2007-06-04 17:56

无限循环哥哥你好强啊`
我运行了下 OK 了很标准的解决了 想法输入几就输入几 打印出来就有多大的*型

但是我不是这个地方不cout << (j < i ? " " : "* ");
这地方我看别人的程序的时候看到过 老 潭的书上也有
就是这个地方不是很懂
还希望无限哥哥指点下 for (int i = 0;i < n;++i)
for (int j = 0;j < n+i;++j)

是不是问的很幼稚啊 但是我真的不知道为什么要用++i和++j
嘿嘿 无限哥哥告诉下我哦 谢谢哦``虽然蛮幼稚还是要问 不耻下问嘛``
#7
aipb20072007-06-04 19:23
A ? B : C 是个条件操作符。
A表达式为条件,为真就做B否则就做C.
所以可以用if else替换。


++i和++j是自增,每次自增执行一次for语句的表达式。这里就是打印个*.

#8
孤魂居士2007-06-04 20:33

在循环语句里面使用
那++i
和i++
又有什么区别列?  我就是这不是很懂
望无限循环哥哥讲解下``
#9
freshman422007-06-04 20:55
int i=0;
cout<<i++<<endl; //输出:0
cout<<i<<enl; //输出:1

int i=0;
cout<<++i<<endl; //输出: 1
cout<<i<<endl; //输出: 1
#10
aipb20072007-06-04 21:43
上面的代码里,++i和i++效果一样。

++i返回i+1
i++返回i的副本,i+1。

还不懂就去搜索,找书看吧!
#11
yuyunliuhen2007-06-04 21:48
TO孤魂居士:
建议你在网上找本《C++参考大全》,从语法到函数,基本上都会涉及,而且比较容易懂,你可以平时作查询工具书吧
#12
孤魂居士2007-06-04 21:49


哦 懂了
其实单纯讲
++i
和i++
我还是知道
就是在循环里面有点陌生 嘿嘿现在知道啦 谢谢9楼 还无限循环哥哥的指教

#13
yuyunliuhen2007-06-04 21:52
一点一点积累,熟能生巧嘛..

[此贴子已经被作者于2007-6-4 22:03:13编辑过]


#14
kisscjy2007-06-04 22:52

很久没回你帖了~~

这个程序其实不难,你应该可以写出来的

#include<iostream>
using namespace std;

void main()
{
int line;

cout<<"请输入行数!"<<endl;
cin>>line;

for ( int i=1; i<=line; i++)
{
for ( int j=1; j<=i; j++)
{
cout<<" ";
}

for( int a=1; a<=line; a++)
{
cout<<"*";
}
cout<<endl;
}
}

#15
孤魂居士2007-06-05 02:40


中区
你QQ隐身了```你呼我```
嘿嘿原来跑到论坛就来了``

我不行了看了前面的很多例子了 睡觉了
你早点睡觉吧``
论坛上的兄弟们早点睡觉吧
1