完整版杭电计算机历年复试真题Word文档格式.docx
- 文档编号:16537589
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:28
- 大小:466.47KB
完整版杭电计算机历年复试真题Word文档格式.docx
《完整版杭电计算机历年复试真题Word文档格式.docx》由会员分享,可在线阅读,更多相关《完整版杭电计算机历年复试真题Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
while(num
!
0)
10.
{
11.
a[i++]
num
%
8;
12.
/=
13.
}
14.
if(i
==
15.
printf("
0\n"
);
16.
else
17.
18.
for(j
-
1;
j
>
--j)
19.
a[j]);
20.
\n"
21.
22.
return
23.}
2、输入两个非常大的整数(完全超出了int、long的表示范围),这个整数的长度可能超过100位,计算并输出这两个数相加的结果。
(HDUacm1002用string处理比较好)
3.#include
string.h>
4.
5.int
6.{
temp,
j,
k,
len1,
len2,
m,
sum[1010];
char
a[1010],
b[1010],
c[1010];
%s
%s"
a,
b);
len1
strlen(a);
len2
strlen(b);
if(len1
len2)
//交换两个字符串,确保第一个字符串的长度不小于第二个字符串
strcpy(c,
strcpy(b,
a);
strcpy(a,
c);
m
m;
k
//从两个数的低位开始,手工模拟加法,逐位相加
for(i
1,
--i,
23.
24.
if(j
25.
temp
a[i]
'
0'
+
b[j]
26.
27.
28.
sum[k++]
10;
29.
/
//进位
30.
31.
if(m
32.
m);
33.
--i)
34.
sum[i]);
35.
36.
37.}
3、“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
请写一个程序判断读入的字符串是否是“回文”。
str[100];
len,
str);
len
strlen(str);
0,
i;
++i,
if(str[i]
str[j])
break;
i)
这个字符串是回文串!
这个字符串不是回文串!
22.}
4、输入n个数,按从小到大进行排序并输出。
iostream>
algorithm>
4.using
namespace
std;
5.
6.int
7.{
n,
n);
*p
new
int[n];
n;
++i)
p[i]);
sort(p,
p
%d
"
19.}
5、输入一个长整型的数,从低位起取出奇数位组成一个新的数输出。
long
newnum;
newnum
%ld"
while(n)
n
++j)
*=
+=
k;
100;
i++;
//每位数字上数字的权值
%ld\n"
newnum);
21.}
6、输入n个字符串,将它们按字母由小到大的顺序排列并输出。
方法一:
string>
4.#include
5.using
7.bool
cmp(const
string&
const
b)
8.{
a
b;
10.}
12.int
13.{
cin>
string
string[n];
p[i];
cmp);
cout<
p[i]<
endl;
delete
[]p;
24.}
方法二:
temp;
*pt
pt[i];
if(pt[j]
pt[j
1])
pt[j];
pt[j]
1];
1]
pt[i]<
[]pt;
30.}
7、输入两个正整数,求出这两个数的最大公约数。
gcd(int
n)
r;
while(r
12.}
14.int
15.{
最大公约数为:
%d\n"
gcd(m,
n));
20.}
8、“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:
153=1^3+5^3+3^3,输入一个整数,判断它是否是水仙花数。
b,
c;
b
(n
10)
c
if(n
a*a*a
b*b*b
c*c*c)
这个数是水仙花数!
这个数不是水仙花数!
16.}
9、完数的定义:
如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:
6=1+2+3;
28=1+2+4+7+14。
输入一个整数,判断它是否是完数。
n/2;
这个数是完数!
这个数不是完数!
18.}
2010年杭电计算机研究生复试---笔试编程
数据结构2011-08-0718:
04
2666人阅读
今天下午进行了计算机复试的笔试部分,总体感觉比去年的难了一些。
第一题是猜数字的游戏,不太难的。
题目:
随即产生一个3位的正整数,让你进行猜数字,如果猜小了,输出:
“猜小了,请继续”。
如果猜大了,输出:
“猜大了,请继续”。
如果猜对了。
输出:
“恭喜你,猜对了”。
不过最多只能猜10次,如果猜了10次还没有猜对,就退出程序,输出:
“ByeBye”。
还是比较简单的,就是三位随机数没有处理好。
第二题是字符串求和。
编写函数FindAndSum,输入一个字符串,把字符串中的数字作为整数进行求和,并输出结果。
Sample:
输入:
Therearesomeapple.输出:
0。
输入:
124and1524输出:
1648。
这个题目是最简单的,只要读入的时候记得使用gets函数就可以了,scanf函数遇到空格的时候输入就结束了。
第三题是文件操作和结构体对象数组的处理问题,处理一个文件student.txt,文件当中包括一组学生的信息,包括名字、学号、英语成绩、语文成绩、数学成绩、科学成绩,如下:
姓名
学号
英语
语文
数学
科学
张三
20100601
78
89
62
75
李四
20100602
54
98
86
王五
20100603
69
85
……………………………………
从这个文件当中读入学生的信息,然后按照总成绩从高到低进行排序并输出学生信息。
由于长时间没有做过有关文件操作的题目,感觉很多都记不起来了,仅仅凭着一点记忆把代码写出来了,后面的结构体数组的排序处理就比较简单了。
总而言之,感觉还是有一定的难度的,哎,不管了,考过就结束了,还是好好准备明天的专业课复试吧。
哈哈~~~
第一题:
stdlib.h>
time.h>
6./**
7.总结二:
生成n位随机数的方法
rand()
N
A,
A为起始位,N为数字的总数。
例如:
生成
0~10的数字:
11
0,即rand()
11;
1~10的数字:
10
100~999的数字:
900
100
12.**/
13.int
14.{
count,
guess;
srand((unsigned)time(NULL));
//利用系统时间作为种子初始化随机数生成器
//生成一个3位数的随机数
count
while(count
guess);
if(guess
num)
恭喜你,猜对了\n"
猜小了,请继续\n"
猜大了,请继续\n"
++count;
37.
38.
if(10
count)
39.
40.
Bye
Bye\n"
41.
42.
43.}
第二题:
FindAndSum(char
*str)
//
求和函数
sum,
curr;
curr
sum
len;
str[i]
9'
)
*
;
//求权相加,得到一个整数
//当遇到不是数字的字符时,则一个整数完成,将得到的整数加到结果中
1
0
str[i
sum;
28.}
29.int
30.{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 计算机 历年 复试