课程首页在: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;
}
(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 函数,再实现以前写过的其他星号图,体会定义函数带来了的好处。