b[n-i-1]=a[i];
}
4、structStrNode{
charname[15]; //字符串域
StrNode*next; //指针域
};
voidQB(StrNode*&f,intn){
if(n==0){f=NULL;return;}
f=newStrNode;
cin>>f->name;
StrNode*p=f;
while(--n){
p=p->next=newStrNode;
cin>>p->name;
}
p->next=NULL;
}
五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:
xxk1.dat”中。
*******************************************************************************
*******************************************************************************
C++语言程序设计试题
答案及评分标准
(供参考)
2001年3月
一、单选题(每小题1分,共6分)
评分标准:
选对者得1分,否则不得分。
1、A 2、A 3、C 4、C 5、B 6、B
二、填空题(每小题2分,共24分)
评分标准:
每题与参考答案相同者得2分,否则不得分。
1、 :
} 2、 C
3、 4 8 4、 (x*y*y)/(3*a)+4*b-1
5、 x+y<=5 6、 8 32
7、 局部 8、 *(a[i]+j) 或 *(*(a+i)+j)
9、 20 10、 初始化表 函数体
11、 10 12、 AB:
:
bb
三、给出下列程序运行后的输出结果(每小题6分,共36分)
评分标准:
每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。
1、 good!
pass!
bad!
well!
2、 worker cadre
3、 10 20
15 35 5
10 20
4、 b=240
5、 liouting 38 493
6、 Destructor B!
7
Destructor A!
6
Destructor B!
0
Destructor A!
5
四、写出下列每个函数的功能(每小题6分,共24分)
评分标准:
每题与参考答案的叙述含义相同者得6分,否则酌情给分。
1、比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a
2、求出从键盘上输入的n个常数的平方和并返回。
3、模板函数,把数组a的每个元素按逆序放入数组b中。
4、建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。
五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:
xxk1.dat”中。
(10分)
评分标准:
见参考程序中的注释。
#include //使用此命令得1分
#include
#include
voidmain(){
ofstreamfout("a:
xxk1.dat"); //定义输出文件流并打开文件得2分
if(!
fout){
cerr<<"文件没有打开!
"< exit
(1);
} //可有可无
intx;
cin>>x;
while(x!
=-1){
fout< cin>>x;
} //能够从键盘向文件正确输出数据得6分
fout.close(); //关闭输出文件流得1分
}