1.若分别输入16和8,则以下程序的输出结果各是什么?
#include “iostream.h”
void main()
{
char b[17]=“0123456789ABCDEF”;int i=0,h,n,c[10];long int m;
cin>>m>>h;
do
{c[i++]=m%h;
}
while((m=m/h)!=0);
for(–i;i>=0;–i)
{n=c[i];cout<<b[n];}
}
2.
#include “iostream.h”
void main(){
int m,n(3),k;
long int t,s=0;
for(m=1;m<=n;m++){
for(t=1,k=1;k<=m;k++)
t*=m;
s+=t;
}
cout<<“s=”<<s;
}
运算结果32
3.
#include"iostream.h"
#include"iomanip.h"
void main(){
cout<<setw(5)<<12<<45;//输出结果。。。12(这里用。代表空格)
cout<<endl;
cout<<setfill(97)<<setw(5)<<12;//输出结果aaa12
cout<<endl;
cout<<setfill(’’)<<setw(5)<<12;
cout<<endl;//输出结果是**12
cout<<setw(5)<<1234567;//输出结果1234567
cout<<endl;
/*setw(a) 设域宽为a个字符
头文件是"iomanip.h",setw()默认填充内容为空格,可以和setfill()配合使用设置其他字符(ASCII码)填充
setw(a)<<b
其中,a是一个常数,表示后面紧跟的数据b的宽度(只对紧跟在他后面的数据有效),且数据b的宽度大于a时,无效;
如果数据小于该空间,在这个数据的左边用空格补齐
*/
}
4.
#include “iostream.h”
#include “iomanip.h”
void main(){
int i,j;
for(i=4;i>=1;i–)
{
cout<<setfill(‘a’)<<setw(i+5)<<’ ‘;
for (j=1;j<=4-i;j++)
cout<<’*’<<’ ‘;
cout<<endl;
}
}
5.
#include “iostream.h”
void main()
{
char s[]=“1234567890”,*p;
int i;
for(p=s+6;*p!=’\0’;p++) cout<<*p;
p=s+5;i=0;
while(i++<5)cout<<p[-i];
}