一个C++简单程序题目
都是输出乘法表
用类iomanip
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int ihang,ilei;
for(ilei=1;ilei<=9;ilei++)
{
cout<<setw(4)<<ilei;
}
cout<<endl;
cout<<"............................................"<<endl;
for(ihang=1;ihang<=9;ihang++)
{
cout<<setw(0)<<ihang<<setw(3+(ihang-1)*4);
for(ilei=ihang;ilei<=9;ilei++)
cout<<ilei*ihang<<setw(4);
cout<<endl;
}
return 0;
}
和
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int ihang,ilei;
for(ilei=1;ilei<=9;ilei++)
{
cout<<setw(4)<<ilei;
}
cout<<endl;
cout<<"............................................"<<endl;
for(ihang=1;ihang<=9;ihang++)
{
cout<<ihang<<setw(3+(ihang-1)*4);
for(ilei=ihang;ilei<=9;ilei++)
cout<<ilei*ihang<<setw(4);
cout<<endl;
}
return 0;
}
这两个程序好象是一样的 第一个比第二个多了个setw(0);但是为什么输出结果却不同呢
[解决办法]
you should google what the meaning of setw() is first...
[解决办法]
使用一次setw()则后面的cout输出都会受到影响,
cout <<ihang <<setw(3+(ihang-1)*4);
在这条语句输出ihang的值设的域宽为4