1.问题及代码:
#include <iostream>
using namespace std;
void printstars(int m)//定义能输出一行m个星号的函数
{
for (int j=1; j<=m; ++j)
cout<<'*';
}
int main()
{
int n=6,i;//n代表要输出的行数,i表示每一行
for(i=1; i<=n; ++i)
{
printstars(2*i-1);//调用void中定义的函数
cout<<endl;
}
return 0;
}
运行结果:
——————————————————————————————————
2.问题及代码:
//调用函数printchs输出星号图
#include <iostream>
using namespace std;
//在下面写printchs函数的定义,功能是输出一行若干个指定字符
void printchs(int a,char b)
{
for (int j=1; j<=a; ++j)
cout<<b;
}
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;
void printchs(int a,char b)
{
for (int j=1; j<=a; ++j)
cout<<b;
}
int main( )
{
int n=6;
int i;
char b;//新增此行
for(i=1,b='A'; i<=n; ++i)
{
printchs(n-i,' ');
printchs(2*i-1,b) ;
cout<<endl;
b=b+1;//新增此行
}
return 0;
}
——————————————————————————————————
知识点总结:
第一次用上ASC码值的加减,自己摸索着使用了char b的b+1