晚上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,运行起来,结果没问题