字符串移动

 晚上9点一同学求助,帮忙做一个C语言题目,本来也是懒得动,但看到同学那份焦急的心情,虽然完成了上面一个题目,谁知道这小子得寸进尺,说是样题,不是真题,现在抛出真题过来。晕。咋一看,还好这个题目简单。


这个题目经简单,将数字用一个数字存储,非数字用一个数组存储,然后将数字strcat到字母后面即可。

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include <ctype.h>
char tab[128]="123d45ef35adh3kjsdf7";

char * movesieris (char *s)
{
	char *p=s;
	int i=0,j=0;
	char digit[128],alpha[128];
	while('\0'!=*p)
	{
		if(isdigit(*p))
		{
			digit[i]=*p;
			i++;
			if(i>=128)
			{

			  printf("sorry array is overflow1\n");
				  break;
			}
		}
		else
		{
		    alpha[j]=*p;
		    j++;
			if(j>=128)
			{
			
			printf("sorry array is kkkkoverflow2\n");
				break;
			}
		}
		p++;
	}
	alpha[j]='\0';
	digit[i]='\0';
	strcat(alpha,digit);
	printf(" ",alpha);
	return alpha;
    
   
}


void main()
{
  printf("The New serise is %s\n",movesieris(tab));
	

}

OK,运行起来,结果没问题


猜你喜欢

转载自blog.csdn.net/fengliang191/article/details/38825321