课程主页在http://blog.youkuaiyun.com/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。
【项目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(i=1; i<=n; ++i)
{
//请在下面写上调用printstars函数的语句,使程序输出右图
______________________;
cout<<endl;
}
return 0;
}
参考解答:
#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函数的语句,使程序输出右图
printstars(2*i-1);
cout<<endl;
}
return 0;
}
(2)根据main函数中对printchs函数的调用,以及printchs的功能要求,编写printchs函数。
//调用函数printchs输出星号图
#include <iostream>
using namespace std;
//在下面写printchs函数的定义,功能是输出一行若干个指定字符
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;
}
参考解答:
#include <iostream>
using namespace std;
//在下面写printchs函数的定义,功能是输出一行若干个指定字符
void printchs(int n, char c)
{
for(int j=0;j<n;j++)
cout<<c;
}
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)在上面的程序中,只改动一处,输出下面的图形:
参考解答:
#include <iostream>
using namespace std;
//在下面写printchs函数的定义,功能是输出一行若干个指定字符
void printchs(int n, char c)
{
for(int j=0;j<n;j++)
cout<<c;
}
int main( )
{
int n=6; //n代表要输出的行数
int i;
//通过在下面的循环里调用printchs函数,输出右面的图
for(i=1; i<=n; ++i)
{
printchs(n-i,' ');
printchs(2*i-1,'A'+i-1) ;
cout<<endl;
}
return 0;
}
(4)利用printchs函数,再实现以前写过的其他星号图,体会定义函数带来了的好处。
=================== 迂者 贺利坚 优快云博客专栏================= |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==| |== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==| |== 我写的书——《逆袭大学——传给IT学子的正能量》 ==| ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 ===== |