1 题目
去除字符串中的数字
删除一个字符串中的所有数字字符。
例如:
输入:cat4lion25film
输出:catlionfilm
2 考察点
- 1 字符串的拼接使用
- 2 数字和字母的acill码
3 答案
3.1 官网答案(厉害了方法学习下)
/*
删除一个字符串中的所有数字字符。
例如:
输入:
cat4lion25film
输出:catlionfilm
*/
#include<stdio.h>
#include<string.h>
void delnum(char s[])
{
int i,j;
for(i=0,j=0; s[i]!='\0' ;i++)
{
if(s[i]<'0'||s[i]>'9')
{
s[j]=s[i];
j++;
}
}
s[j]='\0';
}
int main ()
{
char item[20];
printf("Input a string:\n");
gets(item);//scanf("%s",item);
delnum(item);
printf("%s\n",item);
return 0;
}
3.2 自己的答案
/*删除一个字符串中的所有数字字符。
例如:
输入:cat4lion25film
输出:catlionfilm
*/
#include <stdio.h>
#include <string.h>
#define N 100
int main(void)
{
int i=0;
int j=0;
char str1[N];
char str2[N];
printf("请输入一个字符串(100个字符以内)\n");
scanf("%s",str1);
//del_str1(str1,str2);
for( i=0,j=0;i<sizeof(str1);i++)
{
if((str1[i]>'0')&&(str1[i]<'9'))
{
}
else
{
memcpy(&str2[j],&str1[i],1);
j++;
}
}
printf("输入的字符串是\n%s\n",str1);
printf("输出的字符串是\n%s\n",str2);
return 0;
}