课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759


【项目1-调用函数输出星号图】

  这一组的练习意在通过调用函数输出星号图,体会与理解函数的工作过程,并为其后编制自定义函数实现特定功能。

  (1)补充完下面的程序,使程序输出星号图:

#include <iostream>
using namespace std;
void printstars(int m) //定义能输出一行m个星号的函数
{
  for (int j=1; j<=m; ++j)
    cout<<'*';
}
int main( )
{
  int n=6; //n代表要输出的行数
  for(int i=1; i<=n; ++i)
    {
        //请在下面写上调用printstars函数的语句,使程序输出(1)图
        printstars(2*i-1);
        cout<<endl;
    }
  return 0;
}
C++第11周项目1——函数体验_程序设计

  (2)根据main函数中对printchs函数的调用,以及printchs的功能要求,编写printchs函数。

#include <iostream>
using namespace std;
void printchs(int m, char ch) //定义能输出m个符号ch的函数
{
    for (int j=1; j<=m; ++j)
        cout<<ch;
}
int main( )
{
    int n=6; //n代表要输出的行数
    int i;
    //通过在下面的循环里调用printchs函数,输出右面的图
    for(i=1; i<=n; ++i)
    {
        printchs(n-i,' ');
        printchs(2*i-1,'*') ;
        cout<<endl;
    }
    return 0;
}

  ( 3 )在由多个函数构成的程序中,程序员常用的做法是, main() 函数先定义,其他自定义函数后定义,这时必须在 main() 函数前声明自定义的函数(请详读教材 4.4.3 小节)。按这个要求,重写上面任务 2 中的程序。

#include <iostream>
using namespace std;
void printchs(int, char);  //声明函数
int main( )
{
    int n=6; //n代表要输出的行数
    int i;
    //通过在下面的循环里调用printchs函数,输出右面的图
    for(i=1; i<=n; ++i)
    {
        printchs(n-i,' ');
        printchs(2*i-1,'*') ;
        cout<<endl;
    }
    return 0;
}

void printchs(int m, char ch) //定义能输出m个符号ch的函数
{
    for (int j=1; j<=m; ++j)
        cout<<ch;
}

  ( 4 )利用任务 2 中定义的 printchs 函数,再实现以前写过的其他星号图,体会定义函数带来了的好处。