摘要: 部分参考http://blog.csdn.net/niuer09/article/details/5961004要求将一带链表头List head的单向链表逆序。分析: 1). 若链表为空或只有一个元素,则直接返回;2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指向节点的后继; 3). 重复2),直到q为空 4). 调整链表头和链表尾示例:以逆序A->B->C->D为例,图示如下#include "stdafx.h"#include using namespace std;struct node{ int data; struct node 阅读全文
posted @ 2013-08-24 11:25 一桶白开水 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 一个字符串“aasbbsdsskkff”,求出重复的次数,并写到数组后面,输出为“a2s1b2s1d1s2k2f2”#include "stdafx.h"#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ char str[]="aasbbsdsskkff"; char *out=new char [strlen(str)+10]; int i=0,j=0; int count=1; while(str[i]!='\0') { if(str[i]==str[ 阅读全文
posted @ 2013-08-24 09:19 一桶白开水 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注: 1、表达式只含+,-,*,/四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况• 要求实现函数:intcalculate(intlen,char*expStr)【输入】 intlen:字符串长度;char*expStr 阅读全文
posted @ 2013-08-23 15:26 一桶白开水 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 题目描述:请设计一个自动拼写检查函数,对输入单词的错误依据字典进行修正。1.输入为一个单词和一组字典单词,每个单词长度不超过9位;2.若字典中没有与输入相同的单词,认为输入单词错误,需要从字典中选择一个修正单词;3.修正要求:与输入单词长度相同,且单词中不同字符数最少;4.存在多个修正单词时,取字典中的第一个;5.输出修正后的单词。要求实现函数:void FixWord(const char *pInputWord, long lWordLen, const char pWordsDic[][MAX_WORD_LEN], long lDicLen, char *pOutputWord);【输入 阅读全文
posted @ 2013-08-23 11:53 一桶白开水 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题目描述:实现一个正整数加、减、乘、除四则混合运算求值方法条件限定:1、输入的四则运算式由'+','-','*','/'运算符及正整数组成;2、无需考虑特殊字符,及除不尽的情况;3、无需考虑运算符的优先级,加减乘除优先级一样,仅按照自左至右的顺序依次计算;4、当遇到除数为0时,即刻返回当前已计算结果。要求实现函数:voidCalCarithmeticRlt(const char *pInputStr,int*lOutputRlt);【输入】pInputStr:输入字符串【输出】lOutputRlt: 输出计算结果【注意】不用考虑输 阅读全文
posted @ 2013-08-23 11:52 一桶白开水 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题目描述:假设1元,5元,10元,50元,100元的人民币若干,实现一个能找到最少张数累计达到一个指定金额方法。如:67元,可分为67个1元钱。也可分为6个10元7个1元其中最少人民币分法为一张50元,一张10元,一张5元,两张1元,五张不同金额的拆分方法为最最少张数拆分法要求实现函数:voidCalLeastChange(longlInp#include "stdafx.h"#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int input=238; int hundred=0; int 阅读全文
posted @ 2013-08-23 11:50 一桶白开水 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入一个包含若干整数的字符串,负数前面带有负号‘-’,正数不带‘+’,每个整数都是个位数。请将此串进行如下整理:1、将串中的正负数分离,使得负数在前,正数在后;2、分离后的正负数分别保持在原串中的相对顺序不变;3、输出参数为整理后的字符串。当输入串格式非法,不作处理,直接输出原有字符串。要求实现函数:void ArrangeString(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr: 输出字符串,空间已经开辟好,与输 阅读全文
posted @ 2013-08-23 11:47 一桶白开水 阅读(265) 评论(1) 推荐(1) 编辑
摘要: 题目描述:编写一个函数检查邮箱地址是否合法,合法的条件是1、地址中有且只有一个'@'字符2、最后三位应该是".com"3、中间没有空格4、合法的字符是1~9, a~z, A~Z, '.', '@', '_'正确输出1,非法输出0要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个数组的指针long lInputLen:该数组的长度char *pOutputStr:输出 阅读全文
posted @ 2013-08-23 11:45 一桶白开水 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目描述:编写一个函数,计算出字符串中各种字母(a~z,A~Z)的个数,AABB输出A2B2,aabbCCAAA输出A3C2a2b2,输出结果需要按照字母排序(大写的比小写的排在前面)要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个数组的指针long lInputLen:该数组的长度char *pOutputStr:指向一块输出的内存,'\0'作为字符串结束符【返回】 无【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输 阅读全文
posted @ 2013-08-23 11:43 一桶白开水 阅读(294) 评论(1) 推荐(0) 编辑
摘要: 题目描述:编写一个函数,将字符串中的每个单词的倒序输出,字符串中以空格分割各个单词,如果碰到数字则跳过。要求实现函数:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);【输入】char *pInputStr:指向一个字符串的指针long lInputLen:该字符串的长度char *pOutputStr:指向一块输出的内存,和输入的字符串是大小是(lInputLen+1)【返回】 无【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:He is a man no12 3456.返回:e 阅读全文
posted @ 2013-08-23 11:38 一桶白开水 阅读(334) 评论(0) 推荐(0) 编辑