C++实践参考解答 输出星号图

               

【项目:输出星号图】自选下面的几个图案,编程序输出(自选两个完成,其他的想想思路即可)。

 


(c)“向下的等腰三角”详解

将一个图,看作为6行,完成了第一级的分解,设计的算法框架为:

i=1;While(i<=6//需要输出6行{  输出第i行;  换行;  ++i;}

  对于“输出第i 行”的任务,可以进行细化:

先输出若干空格(多少个空格?第10个,第21个,第32……第65个);再输出若干个星号(多少星号?第一行11个,第29个……第61个)

  其实把空格数和星号数和表示行数的变量 i  挂起钩来,上面的“若干个”可以用  i  表示出来,简单地做些推算可以写出式子。

  对于“输出第i行”的任务,可以进行细化:

先输出 i-1 个空格; 再输出 2*(6-i)+1 个星号; 

  于是,算法就是:

i=1;While(i<=6//需要输出6行//输出第i行  先输出 i-1 个空格;   再输出 2*(6-i)+1 个星号;   换行;  ++i;}

  将输出若干个空格/星号等写成代码,得到了下面的代码

//参考解答一#include <iostream>using namespace std;int main( )int i,j; i=1while(i<=6//需要输出6行 {  //输出第i行  for(j=1; j<=i-1; ++j)   cout<<" ";  for(j=1; j<=2*(6-i)+1; ++j)   cout<<"*";  cout<<endl;  ++i; } return 0;}


  下面给出程序的另一种写法,其中引入了两个变化:(1)三角的行数可以由变量n控制;(2)最外层控制输出n行的循环改为了for循环,实际上,内层的循环用wh

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值