因为字数限制,进行分割。 二、课后练习答案:(不抄题目,没有课本的人可以到网上去下一本) 4.08其实这两小题都是类似的,只是些许改动即可。 (1) #include<iostream> using namespace std; void main() { int i,j; for(i=1;i<=19;i+=2) { for(j=1;j<=19-i;j++)//显示每一行前面的空白 cout<<" "; for(j=1;j<=i;j++)//显示# cout<<"# "; cout<<"\n\n"; } } (2) #include<iostream> using namespace std; void main() { int i,j; for(i=17;i>=10;i--) { for(j=1;j<=17-i;j++)//显示每一行前面的空白 cout<<" "; for(j=1;j<=i;j++)//显示# cout<<"# "; cout<<"\n\n"; } } 4.09其实这三小题都是类似的,只是些许改动即可。因为我对第二章输出形式控制符不熟悉,因此直接打空格来对其显示。当然你可以使用setw()来显示空格。 (1) #include<iostream> using namespace std; void main() { int i,j; for(i=0;i<=9;i++) { if(i==1)cout<<"----------------------------------------------------\n"; for(j=0;j<=9;j++) { if(i==0&&j==0)cout<<" * "; else if(i==0&&j)cout<<j<<" "; else if(j==0)cout<<" "<<i<<" "; else if(i*j<10)cout<<i*j<<" "; else cout<<i*j<<" "; } cout<<endl; } } (2) #include<iostream> using namespace std; void main() { int i,j; for(i=0;i<=9;i++) { if(i==1)cout<<"----------------------------------------------------\n"; for(j=0;j<=9;j++) { if(i==0&&j==0)cout<<" * "; else if(i==0&&j)cout<<j<<" "; else if(j==0)cout<<" "<<i<<" "; else if(i>=j&&i*j<10)cout<<i*j<<" "; else if(i>=j)cout<<i*j<<" "; } cout<<endl; } }

评论