当前位置:首页 > 杭电计算机历年复试真题2006-2014 - 图文
17. 18. 19. 20. 21.
i++; //每位数字上数字的权值 }
printf(\, newnum); return 0; }
6、输入n个字符串,将它们按字母由小到大的顺序排列并输出。 方法一:
[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.
转载请标明出处,原文地址:
http://blog.csdn.net/hackbuteer1/article/details/6667026
#include
bool cmp(const string& a, const string& b) {
return a < b; }
int main(void) {
int i, n; cin>>n;
string *p = new string[n]; for(i = 0; i < n; ++i) cin>>p[i]; sort(p, p + n, cmp); for(i = 0; i < n; ++i) cout<
方法二:
[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.
转载请标明出处,原文地址:
http://blog.csdn.net/hackbuteer1/article/details/6667026
#include
int main(void) {
int n, i, j; string temp; cin>>n;
string *pt = new string[n]; for(i = 0; i < n; ++i) cin>>pt[i];
for(i = 0; i < n - 1; ++i) {
for(j = 0; j < n - i - 1; ++j) {
if(pt[j] > pt[j + 1]) {
temp = pt[j]; pt[j] = pt[j + 1]; pt[j + 1] = temp; } } }
for(i = 0; i < n; ++i) cout< 7、输入两个正整数,求出这两个数的最大公约数。 [cpp] view plaincopy 1. 2. 3. 转载请标明出处,原文地址: http://blog.csdn.net/hackbuteer1/article/details/6667026 #include 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. int gcd(int m, int n) { int r; while(r = m % n) { m = n, n = r; } return n; } int main(void) { int m, n; scanf(\, &m, &n); printf(\最大公约数为:%d\\n\, gcd(m, n)); return 0; } 8、“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3,输入一个整数,判断它是否是水仙花数。 [cpp] view plaincopy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 转载请标明出处,原文地址: http://blog.csdn.net/hackbuteer1/article/details/6667026 #include int main(void) { int n, a, b, c; scanf(\, &n); a = n % 10; b = (n / 10) % 10; c = n / 100; if(n == a*a*a + b*b*b + c*c*c) printf(\这个数是水仙花数!\\n\); else printf(\这个数不是水仙花数!\\n\); return 0; 16. } 9、完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。输入一个整数,判断它是否是完数。 [cpp] view plaincopy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 转载请标明出处,原文地址: http://blog.csdn.net/hackbuteer1/article/details/6667026 #include int main(void) { int i, m, n; scanf(\, &n); for(i = 1, m = 0; i <= n/2; ++i) { if(n % i == 0) m += i; } if(m == n) printf(\这个数是完数!\\n\); else printf(\这个数不是完数!\\n\); return 0; } 2010年杭电计算机研究生复试---笔试编程 分类: C/C++ 数据结构2011-08-07 18:04 2666人阅读 评论(0) 收藏 举报 杭电计算机复试 今天下午进行了计算机复试的笔试部分,总体感觉比去年的难了一些。 第一题是猜数字的游戏,不太难的。题目:随即产生一个3位的
共分享92篇相关文档