这题的关键是把字符串中的数字删掉!
由于是字符我可以用这么一个if语句
if (p[i] < '0' || p[i]>'9')
所以我们在构建函数时可以
void sx(char* p, int l)
{
char a[200];
int n = 0;
for (int i = 0; i < l; i++)
{
if (p[i] < '0' || p[i]>'9')
{
a[n] = p[i];
n++;
}
}
a[n] = '\0';
strcpy(p, a);
}
有个小细节对筛选完的数组一定要在后面加'/0';
整体代码如下
#include<stdio.h>
#include<string.h>
void sx(char* p, int l)
{
char a[200];
int n = 0;
for (int i = 0; i < l; i++)
{
if (p[i] < '0' || p[i]>'9')
{
a[n] = p[i];
n++;
}
}
a[n] = '\0';
strcpy(p, a);
}
int main()
{ char c[200];
scanf("%s", c);
int d = strlen(c);
sx(c, d);
printf("%s\n", c);
}