求一段字符串中连续出现次数最多的单个字符和分解字符串
2015-09-11 21:02
176 查看
求一段字符串中连续出现次数最多的单个字符
按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。
例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
int main() { char num[MAX] ; printf("请输入一个字符串\n"); scanf("%s",num); char temp ;//记录当前出现最多次数的连续字符 int length = 0; int curlen;//记录当前字符出现的连续次数 int begin = 0;//开始的位置 int end = 1;//结束的位置 while(num[end]!='\0') { if(num[begin]!=num[end]) { curlen = end - begin; if(curlen > length) { length = curlen; temp = num[begin]; } begin = end; end = end + 1; } else { end = end + 1; if(num[end]=='\0') { curlen = end - begin + 1; if(curlen > length) { length = curlen; temp = num[begin]; } } } } printf("%c",temp); return 0; }
按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。
例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
void solve(char* str,int n)//str代表输入的字符串、n输出的位数、len字符串的长度 { int len = strlen(str); int i = 0; if(n==len)printf("%s\n",str); else if(n > len) { //char *temp = (char*)malloc(n); printf("%s",str); int i = n - len; while(i--)putchar('0'); } else if(n < len) { int rem = len/n;//商 int quot = len%n;//余数 for( i = 0;i < rem;i++) { char *temp = (char*)malloc(n + 1); memcpy(temp,str + i * n ,n); temp ='\0'; printf("%s",temp); putchar(' '); free(temp); } char *temp = (char*)malloc(n + 1); memcpy(temp,str + rem * n ,quot); temp[quot]='\0'; printf("%s",temp); i = n - quot; while(i--)putchar('0'); free(temp); } } int main(void) { int i , m , n , len; char str[1000]; scanf("%d %d", &m , &n) ; for(i = 0 ; i < m ; ++i) { scanf("%s" , str); //接受字符串,后面自动 solve(str , n ); //printf("%d\n",i); } return 0; }
相关文章推荐
- Extjs学习笔记 vtype
- Leet Code Medium 16 3Sum Closest
- python解决sql注入以及特殊字符
- 按天分割备份Catalina.out
- JAVA
- Java 7 在 WebSphere Application Server V8.5 中的安装配置和版本切换
- SQLite 支持的数据类型
- PAT 1097. Deduplication on a Linked List (25)
- LeetCode(62)Unique Paths
- Leet Code Medium 15 3Sum
- 坚持的
- 达到HTTP合约Get、Post和文件上传功能——采用WinHttp介面
- LibSvm的使用
- LeetCode(62)Unique Paths
- Linux中修改环境变量及生效方法
- uva 1116 - Puzzle(贪心)
- 【Linux学习】epoll详解
- Android性能优化典范之Profile GPU Rendering
- jdbc 写入mysql 中文乱码
- HDU2007平方和与立方和