一个字符串中有好多的字符,要求用c语言删除其中的数字。
有帮助请采纳
#include <stdio.h>
#include <string.h>
int main()
{
char c[250];
char t[250]={0};
printf("请输入字符串:");
gets(c);
int j,h=0;
for(j=0;j<strlen(c);j++)
{
if(c[j]>'9'||c[j]<'0')
{
t[h]=c[j];
h++;
}
}
printf("去除数字后:");
puts(t);
return 0;
}
#include "stdio.h"
#include "string.h"
void del_digit(char *str)
{
char *ep = str;
char *sp = str;
while (*sp)
{
if (*sp >= '0' && *sp <= '9')
{
sp++;
}
else
{
*ep++ = *sp++;
}
}
*ep = '\0';
}
void main()
{
char str[500];
int i;
printf("请输入字符串:\n");
gets(str);
del_digit(str);
puts(str);
}
供参考:
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[128], * p = str;
int i=0;
gets(str);
while (*p) {
if (isdigit(*p))
p++;
else
str[i++] = *p++;
}
str[i] = '\0';
puts(str);
return 0;
}
// 删除数字
#include <stdio.h>
#define N 100
int main(void)
{
char s[N];
int j,k;
gets(s);// 输入字符串
for(j = k = 0;s[j]!='\0';j++)// 此循环用于删除字符串中的数字
if(s[j]<'0'||s[j]>'9')
s[k++] = s[j];
s[k] = '\0';// 处理过的字符串加上结束标志'\0'
puts(s);// 输出处理过的字符串
return 0;
}