读书人

一个C++简单程序题目,该如何处理

发布时间: 2012-02-22 19:36:54 作者: rapoo

一个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

读书人网 >C++

热点推荐