![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
S3: OJ练习
涛歌依旧
毕业后就职于华为和腾讯
展开
-
字符串的排序
提交,成功了,无非就是个排序,用最简单的冒泡吧! 程序如下: #include using namespace std; void bubbleSort(char str[]) { int len = strlen(str); int i, j, flag = 1; char tmp; for(i = 0; flag && i < len - 1; i++) { flag =原创 2013-01-17 14:48:48 · 8338 阅读 · 1 评论 -
数组中大于等于平均数的元素的个数
这个题目出得相当恶心,也很傻逼,本人程序如下: #include using namespace std; int GetByondAvgNumber(int iArray[], int iLen) { int sum = 0; int number = 0; int i; for(i = 0; i < iLen; i++) { sum += iArray[i]; }原创 2013-01-17 14:18:00 · 11717 阅读 · 3 评论 -
大写首字母
提交一次,就成功了,最好考虑多个空格的情况, 程序如下: #include using namespace std; int main() { char str[100]; int i, flag; // Do not use "cin >> str" here. while(cin.getline(str, 100)) { flag = 0; for(i = 0; '原创 2013-01-17 14:02:58 · 7821 阅读 · 1 评论 -
找出出现次数最多的数字(需要考虑顺序)
这是一个典型的计数排序,此处不需要排序,仅仅计数就可以了,该程序有一定难度,尤其是要考虑顺序时,程序提交一次,就通过了,好开心呀! 另外,计数过程的确很精妙,不需要排序,时间复杂度仅为O(n). #include using namespace std; int main() { char str[257]; int times[10]; int maxTimesNumber, m原创 2013-01-17 13:21:12 · 8116 阅读 · 4 评论 -
字符串加密
提交后,成功,程序如下: #include using namespace std; int encodeChar(char c) { if( islower(c)) return c - 96; return c - 38; } char decodeInt(int n) { if(1 <= n && n <= 26) return n + 96; return原创 2013-01-17 12:09:32 · 7659 阅读 · 1 评论 -
一个简单的计算器
先写了一个程序,没有考虑到12+3这样的情况, 所以错了,有bug的程序如下: #include using namespace std; int operation(int x, char c, int y) { if('+' == c) return x + y; if('-' == c) return x - y; if('*' == c) return x原创 2013-01-17 10:30:48 · 7696 阅读 · 1 评论 -
字符串按规律加密
题目没有说串的大小,我还在担心呢,但提交后,正确了: #include using namespace std; char characterPlusOne(char c) { if('z' == c) return 'a'; return c + 1; } char characterMinusOne(char c) { if('a' == c) return 'z'原创 2013-01-11 23:20:49 · 7844 阅读 · 0 评论 -
字符串---> 整数--->二进制
提交了,成功了: #include using namespace std; int thirdBinaryDigitFromLast(int n) { int times = 0; if(n <= 3) return 0; while(n) { times++; if(3 == times) { if(0 == n % 2) return 0;原创 2013-01-11 22:40:01 · 7406 阅读 · 2 评论 -
跟7相关的数的个数
程序提交后成功了: #include using namespace std; bool isRelevantTo7(int n) { if(0 == n % 7) return true; while(n) { if(7 == n % 10) return true; n /= 10; } return false; } int main() { in原创 2013-01-11 15:41:03 · 8091 阅读 · 0 评论 -
字符串逆置(在OJ上一次提交成功)
总算慢慢熟悉这个OJ了,程序交了一次,就OK了,如下: #include using namespace std; void reverseString(char str[]) { int length = strlen(str); int i, tmp; for(i = 0; i < length/2; i++) { tmp = str[i]; str[i原创 2013-01-09 22:57:38 · 7529 阅读 · 1 评论 -
回文串判断(先错后对,OJ系统好严格啊)
第一次用这个OJ系统,不太熟悉,写了一个程序,在本机上可以正确运行,但提交,错了,原来OJ这么严格, 程序如下: #include using namespace std; bool isSymmetric(char str[]) { int length = strlen(str); int i; for(i = 0; i < length/2; i++) if(原创 2013-01-09 22:25:55 · 8086 阅读 · 0 评论 -
最简单的OJ题目(求两个整数之和)
C代码: #include int main() { int a, b; while(EOF != scanf("%d %d", &a, &b)) { printf("%d\n", a + b); } return 0; } C++代码: #include using namespace std; int main() { int a, b; wh原创 2013-01-09 21:11:17 · 8493 阅读 · 1 评论 -
实现单词替换(非word中的字符串替换,有点难度)
说实话,这个题目挺难的,要综合考虑多种情况,word中的替换功能仅仅是实现字符串的替换,而这里是单词的置换. 提交后,一次成功,相当开心啊!, 程序如下: #include #define FLAG1 1 #define FLAG2 2 #define FLAG3 3 #define FLAG4 4 using namespace std; bool isSeperator(char原创 2013-01-17 19:26:32 · 9120 阅读 · 1 评论