赞
踩
剑指offer-算法题练习:part13 数字字母重排序-笔试题
C/C++语言对一个字符串重新排列,字母排在前面,数字排在后面,并不改变原来字母之间以及数字之间的字符顺序。
- #include <stdio>
- #include <string>
- #include <stlib>
- void pure(char* buf, int length){
- char num[50];//存储数字
- char letter[50];//存储字母
- char con[100];
- char* list =buf;
- int i=0,j=0,k=0;
-
- while(list[i]){
- if((list[j]<='Z'&&list[j]>='A')||(list[j]<='z'&&list[j]>='a')){
- letter[j] = list[i];
- j++;
- }//if
- if((list[k]<=9&&list[k]>=0)){
- num[k] = list[i];
- k++;
- }//if
- i++;
- }
- letter[j] = '\0';
- num[k] = '\0';
- strcpy(con,letter);
- strcat(con,num);
- }
-
- int main(int argc,char** argv[]){
- char buf[100] = " ";
- scanf("%s",buf);
- int length = strlen(buf);
- pure(buf,len);
- printf("-------------------\n");
- printf("con:%s\n",con);
- printf("-------------------\n");
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。