云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 杭电计算机历年复试真题2006-2014 - 图文

杭电计算机历年复试真题2006-2014 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 17:32:44

2006---2009年杭电计算机历年研究生复试---笔试编程

分类: C/C++ 数据结构2011-08-07 15:52 5483人阅读 评论(0) 收藏 举报 杭电计算机复试 1、输入一个十进制的数,把它转成八进制。类似的把十进制转成16进制,把十六进制转变为十进制等。

[cpp] view plaincopy

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

转载请标明出处,原文地址:

http://blog.csdn.net/hackbuteer1/article/details/6667026

#include

int main(void) {

int num, a[100], i, j; i = 0;

scanf(\ , &num); while(num != 0) {

a[i++] = num % 8; num /= 8; }

if(i == 0) printf(\); else {

for(j = i - 1; j >= 0; --j) printf(\, a[j]); printf(\); } return 0; }

2、输入两个非常大的整数(完全超出了int、long的表示范围),这

个整数的长度可能超过100位,计算并输出这两个数相加的结果。(HDU acm 1002 用string处理比较好)

[cpp] view plaincopy

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. 30. 31. 32. 33. 34. 35. 36.

转载请标明出处,原文地址:

http://blog.csdn.net/hackbuteer1/article/details/6667026

#include #include

int main(void) {

int temp, i, j, k, len1, len2, m, sum[1010]; char a[1010], b[1010], c[1010];

scanf(\, a, b); len1 = strlen(a); len2 = strlen(b);

if(len1 < len2) //交换两个字符串,确保第一个字符串的长度不小于第二个字符串 {

strcpy(c, b); strcpy(b, a); strcpy(a, c);

m = len2, len2 = len1, len1 = m; }

k = m = 0;

//从两个数的低位开始,手工模拟加法,逐位相加

for(i = len1 - 1, j = len2 - 1; i >= 0; --i, --j) {

if(j >= 0)

temp = a[i] - '0' + b[j] - '0' + m; else

temp = a[i] - '0' + m; sum[k++] = temp % 10; m = temp / 10; //进位 } if(m > 0)

printf(\, m); for(i = k - 1; i >= 0; --i) printf(\, sum[i]); printf(\); return 0;

37.

}

3、“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

[cpp] view plaincopy

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

转载请标明出处,原文地址:

http://blog.csdn.net/hackbuteer1/article/details/6667026

#include #include

int main(void) {

char str[100]; int len, i, j;

scanf(\, &str); len = strlen(str);

for(i = 0, j = len - 1; i < len && j >= i; ++i, --j) {

if(str[i] != str[j]) break; } if(j < i)

printf(\这个字符串是回文串!\\n\); else

printf(\这个字符串不是回文串!\\n\); return 0; }

4、输入n个数,按从小到大进行排序并输出。

[cpp] view plaincopy

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

转载请标明出处,原文地址:

http://blog.csdn.net/hackbuteer1/article/details/6667026

#include #include using namespace std;

int main(void) {

int n, i;

scanf(\, &n); int *p = new int[n]; for(i = 0; i < n; ++i) scanf(\, &p[i]); sort(p, p + n); for(i = 0; i < n; ++i) printf(\, p[i]); printf(\); return 0; }

5、输入一个长整型的数,从低位起取出奇数位组成一个新的数输出。

[cpp] view plaincopy

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

转载请标明出处,原文地址:

http://blog.csdn.net/hackbuteer1/article/details/6667026

#include

int main(void) {

long n, k, i, j, newnum; i = j = newnum = 0;

scanf(\, &n); while(n) {

k = n % 10;

for(j = 0; j < i; ++j) k *= 10; newnum += k; n /= 100;

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2006---2009年杭电计算机历年研究生复试---笔试编程 分类: C/C++ 数据结构2011-08-07 15:52 5483人阅读 评论(0) 收藏 举报 杭电计算机复试 1、输入一个十进制的数,把它转成八进制。类似的把十进制转成16进制,把十六进制转变为十进制等。 [cpp] view plaincopy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/6667026 #include

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com