0
已采纳
阿巴
资深守护
资深守护
一、单选题(25分,每题5分)
一、单选题
1、
考试中的文件操作是指( )
A:
修改一个文件
B:
删除文件
C:
从文件输入,往文件输出
第1题: (
)
2、
文件操作的头文件是( )
A:
<cstdlib>
B:
<iostream>
C:
<cstring>
D:
<cstdio>
第2题: (
)
3、
文件操作中打开输入文件的代码是( )
A:
freopen()
B:
fropen()
C:
fopen()
D:
reopen()
第3题: (
)
4、
文件操作中关闭文件的代码是( )
A:
freclose()
B:
frclose()
C:
fclose()
D:
reclose()
第4题: (
)
5、
存储数据尽量使用整型而不是实型的原因是( )
A:
整型能表示的数据范围更大
B:
实型不能存储非常精确的小数
C:
整型比实型的应用范围更广
D:
整型也能存储小数
第5题: (
)
二、判断题(15分,每题5分)
二、判断题
1、
freopen("rec.in","w",stdin);这句文件操作是错的。
第1题: 对 错
2、
fclose("rec.in");这句话是对的。
第2题: 对 错
3、
通过(int)a;可以实现对小数a向上取整。
第3题: 对 错
三、填空题(10分,每题5分)
三、填空题
1、
将实型变量a四舍五入保留到整数部分的代码是(____ )(a+____);
第1题:
1:
2:
四、代码补全(50分,每题5分)
四、代码补全
1、
短信计费(message)
用手机发短信,一般在不同运营商之间,一条短信资费为0.1元,但限定每条短信的内容在70个字以内(包括70个字)。如果你所发送的一条短信超过了70个字,则大多数手机会按照每70个字一条短信的限制把它分割成多条短信发送。假设已经知道你当月所发送的每条短信的字数,试统计一下你当月短信的总费用。
#include<iostream>
#include<cstdio>
using namespace std;
int n,t,cnt;
int main(){
____(1)____("____(2)____","____(3)____",stdin);
____同(1)____("____(4)____","____(5)____",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>t;
if(____(6)____==0) cnt+=t/70;
else cnt+=t/70+____(7)____;
}
printf("%.1f",cnt*0.1);
____(8)____(____(9)____);//关闭输入文件
____同(8)____(____(10)____);//关闭输出文件
return 0;
}
第1题:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
0
0
0
0
张恩昊
资深天翼
资深天翼
一、单选题(30分,每题10分)
一、单选题
1、
小写字母的ASCII码比它所对应的大写字母的ASCII码
A:
大23
B:
小23
C:
大32
D:
小32
第1题: ( )
2、
cout << A + 32;
这个代码的运行结果是
A:
a
B:
65
C:
97
D:
编译错误
第2题: ( )
3、
cout << 'E' + 32;
这个代码的运行结果是
A:
e
B:
69
C:
101
D:
编译错误
第3题: ( )
二、填空题(20分,每题10分)
二、填空题
1、
cout << '0'*1;
的运行结果是________
第1题:
1:
2、
cout << '1'+0;
的运行结果是______
第2题:
1:
三、代码补全(50分,每题10分)
三、代码补全
1、
输入一个小写字母转化成相应的大写字母,
char a;
cin >> a;
cout << ____________;
第1题:
1. ()
A . (char)(a+32)
B . a+32
C . (char)(a-32)
D . a-32
2、
输入一个大写字母转化成相应的小写字母,
char a;
cin >> a;
cout << ___________;
第2题:
1. ()
A . (char)(a+32)
B . a+32
C . (char)(a-32)
D . a-32
3、
将ASCII码111,转化成相应的字符,
int a = 111;
cout << __________;
第3题:
1. ()
A . char(a)
B . char a
C . char(a+111)
D . int(a)
4、
输出 ‘F’ 的ASCII码,
cout << __________;
第4题:
1. ()
A . F
B . 'F'
C . char('F')
D . int('F')
5、
下列代码的运行结果为__________
cout << 'a' + 0;
第5题:
1:
0
阿巴
资深守护
资深守护
一、判断题
1、
在搬砖头一题题中,为了获取最多的工资,一定要搬工资最多的那块石头
第1题: 对 错
2、
在体验积分值一题中,为获取最大的积分值,思路就是选出间隔的积分值,累加后进行比较。
第2题: 对 错
二、完形填空(80分,每题10分)
二、完形填空
1、
题目描述
酷町猫暑假找到了一份不错的暑假工,去工地上搬砖。已知酷町猫的推车的容积为m,现在他的面前摆了n个砖头。第i个砖头的体积为vi,搬第i个砖头工头会给他发wi元。现在试求出酷町猫一次最多能获得多少钱。
输入描述
第一行有两个整数m(1<=m<=1000)和n(1<=n<=100),用一个空格隔开,m代表推车容积,n代表砖头数量。接下来的n行每行包括两个在1到100之间(包括1和100)的整数,分别表示砖头的体积和获得的工钱。
输出描述
#include<iostream>
#include<cstring>
using namespace std;
int n,m;
int v[__(1)__],w[__(1)__];
int f[__(1)__][__(2)__];
int dfs(int n,int m){
if(f[n][m]!=-1) return f[n][m];
int ans=0;
if(n==0) ans=0;
else{
ans=__(3)__;
if(__(4)__)
ans=max(ans,__(5)__);
}
return f[n][m]=ans;
}
int main(){
memset(f,__(6)__,sizeof(f));
cin>>m>>n;
for(int i=1;i<=__(7)__;i++){
cin>>v[i]>>w[i];
}
cout<<dfs(__(8)__);
return 0;
}
第1题:
1. (
)
A . 105
B . 100
C . 1005
D . 1000
2. (
)
A . 105
B . 100
C . 1000
D . 1005
3. (
)
A . dfs(n-1,m-v[n])
B . dfs(n,m)
C . dfs(n-1,m-v[m])
D . dfs(n-1,m)
4. (
)
A . v[n]<=m
B . v[m]<=n
C . v[n]>=m
D . v[m]>=n
5. (
)
A . dfs(n-1,m-v[m])+w[n]
B . dfs(n-1,m-v[m]+w[m])
C . dfs(n-1,m-v[n])+w[n]
D . dfs(n-1,m-v[m])+w[n]
6. (
)
A . -1
B . 0
C . 1
D . 0x3f
7. (
)
A . n
B . m
C . T
D . M
8. (
)
A . n,m
B . N,M
C . m,n
D . M,T
0
阿巴
资深守护
资深守护
一、单选题(30分,每题10分)
一、单选题
1、
下面哪个数不是完全平方数()?
A:
1
B:
3
C:
9
D:
81
第1题: (
)
2、
将5拆分为恰好两个正整数的和的形式,有多少种方案?(不能重复)
A:
1
B:
2
C:
3
D:
4
第2题: (
)
3、
我们如何保证拆数的方案数不重复?
A:
保证当前拆的数字和上一次不相等
B:
保证当前拆的数字大于等于前一次拆出的数字
第3题: (
)
二、代码补全(70分,每题10分)
二、代码补全
1、
题目描述 Description
输入一个整数n, 求将该数字拆分为4个平方数的方案数,方案不能重复。
平方数:是其他数的平方的数,例如1,4,9,16都是平方数
输入描述 Input Description
输入一个正整数n (500<=n<=1000)
输出描述 Output Description
输出将n拆成4个平方数的方案数
代码补全
#include<iostream>
using namespace std;
int N,a[35] = {0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961};
int f(int n,int t,int x)
{
if(t==0)
{
if(n==0)
return ____1____;
return ____2____;
}
int ans=0;
for(int i=x;i<=31&&____3____<=n;i++)
{
ans+=f(____4____,t-1,____5____);
}
return ans;
}
int main()
{
cin>>N;
cout<<f(N,____6____,____7____);
return 0;
}
0
阿巴
资深守护
资深守护
1、
以下排序算法中速度最快的是( )。
A:
选择排序
B:
冒泡排序
C:
插入排序
D:
快速排序
第1题: (
)
2、
快速排序运用了以下哪种算法思想?
A:
枚举
B:
贪心
C:
分治
D:
模拟
第2题: (
)
二、填空题(20分,每题10分)
二、填空题
1、
选择排序和快速排序是________(稳定/不稳定)的排序算法。冒泡排序和插入排序是________(稳定/不稳定)的排序算法。(对于序列中相等的元素,如果排序之后,这些元素相对的位置不变,则算法是稳定的)
第1题:
1:
2:
三、代码补全(60分,每题6分)
三、代码补全
1、
输入正整数n(n<100000),输入n个整数,请你将这n个数按照从小到大的顺序输出。
#include<iostream>
using namespace std;
int n,a[100005];
bool cmp(int m,int n){
return ___(1)___;
}
void qsort(int a[],int l,int r){
int i=___(2)___,j=___(3)___,mid=a[___(4)___];
while(___(5)___){
while(cmp(___(6)___)) i++;
while(cmp(____(7)___)) j--;
if(i<=j){
swap(a[i],a[j]);
i++;
j--;
}
}
if(l<j) qsort(___(8)___);
if(i<r) qsort(___(9)___);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
qsort(___(10)___);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
第1题:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
0