youaredead是什么意思:编写函数void fun(char *str)

来源:百度文库 编辑:高考问答 时间:2024/04/27 14:22:43
功能是:将str所指字符串中所有的数字字符移到所有非数字字符之后,并保持数字与非数字字符串原有的先后次序.例如,程序运行时输入:12ab 23c4 d78e90f56gh12,则输出:ab c defgh1223478905612.
void fun(char *str)
{
}
main()
{char s[80];
gets(s);
fun(s);
puts(s);
}
编程啊

#include <stdio.h>
#include <assert.h>
#include <ctype.h>
#include <string.h>

void fun(char *str)
{
assert(str != NULL);
char c, *sz, *pch1, *pch2, *p1, *p2;
sz = str;
pch1 = new char[strlen(str)+1];
pch2 = new char[strlen(str)+1];
memset(pch1, 0, strlen(str)+1);
memset(pch2, 0, strlen(str)+1);
p1 = pch1;
p2 = pch2;

while((c = *sz++) != '\0')
{
if(!isdigit(c))
*pch1++ = c;
else
*pch2++ = c;
}
strcpy(str, strcat(p1, p2));

delete[] p1;
delete[] p2;
p1 = p2 = NULL;
pch1 = pch2 = NULL;
sz = NULL;
}
void main()
{
char s[80];
gets(s);
fun(s);
puts(s);
}

请问你想问什么?