《高级语言程序设计C++(一)》样卷

答案不一定正确,水平有限。
仅用于自己记录整理。

一. 单项选择题#

ADBAB DCCAD DABBD CDBDB

注:13题AB选项均错误,但个人觉得B错的更明显。

二.分析程序,写输出结果#

1
2
3
4
5
6
2
1
3
1
0

1
2
3
4
5
6
i=0    s=0
i=1 s=1
i=2 s=3
i=3 s=5
i=4 s=7

1
2
3
t1=200,*t2=50,*rt=200
c=200,p=200,*q=50

按理应该是*p=200…

1
2
3
a
afcfdbd

1
2
3
4
5
6
1  2  0  0  0
0 3 4 0 0
0 0 5 6 0
0 0 0 7 8
0 0 0 0 9

1
2
3
4
#
#****##
#*******

三.根据程序功能填空#

1
2
3
(1) n % 10
(2) n >= 10 或 n/10 != 0
(3) n / 10
1
2
3
4
5
(4) pa[j] = &classOne[j]  
(5) pa[j+1]->score < pa[j]->score
(6) temp = pa[j+1]
(7) pa[j+1] = pa[j]
(8) pa[j] = temp

题意有点混乱。。
3.

1
2
3
4
5
(9) head==NULL
(10) s->data < head->data
(11) q->next = s
(12) s->next = p
(13) p = head

四.程序设计#

1.(1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int main(){
int a[3][4],b[3][4];
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
cin>>a[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
cin>>b[i][j];
}
}
int count=0;
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
if(a[i][j]==b[i][j])count++;
}
}
cout<<count<<endl;
return 0;
}

(2)

1
2
3
4
5
6
7
8
9
10
int int_to_str(int num,char *str){
if(num<10){
str[0]=num+'0';
return 1;
}
int count=int_to_str(num/10,str);
str[count]=num%10+'0';
return count+1;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int isPrime(int x){
for(int i=2;i<int(sqrt(x))+1;i++){
if(x%i==0)return 0;
}
return 1;
}
int main(){
int n;
cin>>n;
int *f=new int[n];
f[0]=0,f[1]=1;
for(int i=2;i<n;i++){
f[i]=f[i-1]+f[i-2];
}
int count=0;
for(int i=0;i<n;i++){
if(isPrime(f[i])){
count++;
cout<<setw(10)<<f[i];
if(count%5==0)cout<<endl;
}
}
return 0;
}

《高级语言程序设计C++(一)》样卷

https://blog.tootal.xyz/posts/cppprograming-test1/

作者

黄智权

本文发布于

2018-12-17

本文更新于

2018-12-17

许可协议

评论