Untitled Document

三、简答题
1．写出语句实现下面的功能
/*
1. 输出字符串str
2. 输出字符串str的地址
3. 以科学计数法显示f
4. 使科学计数法的指数字母以大写输出
5. 以八进制输出n
6. 输出整数时显示基数
7. 设置显示宽度为10，填充字符为'*'，右对齐方式显示
8. 分别设置精度为2、3、4显示f
9. 按16进制输入整数，然后按10进制输出
10. 从流中读取10个字符到str，遇到'!'字符停止操作
*/
cout<<str;
cout<<(long)str;
cout<< setiosflags(ios::scientific)<<f;
cout<< setiosflags(ios::uppercase)<<f;
cout<<oct<<n;
cout<< setiosflags(ios::showbase)<<n;
cout<<setfill('*')<<setw(10)<< setiosflags(ios::right)<<n;
cout<< setprecision(2)<<f;
cout<< setprecision(3)<<f;
cout<< setprecision(4)<<f;
cin>>hex>>n;
cout<<dec<<n;
cin.getline(str,10,'!');
2. 源程序
#include "iostream.h"
#include "fstream.h"

void main()
{
ofstream file("ascii.txt");

unsigned char ch;
for (ch=0;ch<255;ch++){
cout<<(int)ch<<"\t"<<ch<<endl;
file<<(int)ch<<"\t"<<ch<<endl;
}
}
3.源程序
#include "iostream.h"

void main()
{
int i;

while (cin){
cout<<"input a integer:"<<endl;
cin>>i;
if (!cin){
cout<<"fail:"<<cin.fail()<<endl;
cout<<"bad:"<<cin.bad()<<endl;
cout<<"eof:"<<cin.eof()<<endl;
}else{
cout<<"good"<<endl;
}
cin.clear();
cin.ignore();
}
}