功能:删除字符串中的数字字符。 例如:输入字符串:48CTYP9E6,则输出:CTYPE。 -------------------------------------------------------*/ #include <stdio.h> void fun (char *s) { char *p=s; while(*p) if((*p>='0')&&(*p<='9')) p++; /**********FILL**********/ else *s++=_____; /**********FILL**********/ _____; } void main( ) { char item[100] ; printf("\nEnter a string: "); gets(item); fun(item); printf("\nThe string:\"%s\"\n",item); }
时间: 2023-07-23 21:55:06 浏览: 108
答:这段代码是一个 C 语言程序,功能是删除字符串中的数字字符,即将数字字符所在的位置从字符串中去除,使原字符串中只剩下字母字符。程序使用了一个指针变量 p,遍历字符串中的每个字符,判断是否为数字字符,如果是则跳过该字符,否则将该字符复制到另一个指针变量 s 指向的位置,并将 s 向后移动一位。最终将 s 所指向的位置的值设置为字符串结束符号 '\0',以表示字符串的结束。程序的运行结果会在终端上输出。
相关问题
请编写一个函数 fun ,它的功能是:删除字符串中的数字字 符。例如输入字符串:48CTYP9E6,则输出: CTYPE 。 # include < stdio . h > void fun
( char *str )
{
if (str == NULL) {
return;
}
char *p = str;
int i = 0;
while (*p != '\0') {
if (*p < '0' || *p > '9') {
str[i] = *p;
i++;
}
p++;
}
str[i] = '\0';
}
这个函数会遍历字符串中的每一个字符,如果字符不是数字,则将其复制到一个新的字符串中。最终将新的字符串以字符串结尾符'\0'结束,这样就能实现删除字符串中的数字字符的功能。
请编写一个函数fun,它的功能是:删除字符串中的数字字符。例如输入字符串:48CTYP9E6,则输出:CTYPE。 注意: 部分源程序存在考生文件夹下的文件prog157.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include "stdio.h" void fun (char *s) { } int main( ) { char item[100] ; gets(item); fun(item); printf("%s",item); }
答案:
```
#include<stdio.h>
#include<ctype.h>
void fun(char *s)
{
char *p = s;
while(*p) //循环遍历字符串
{
if(isalpha(*p)) //如果是字母,将其放到字符串头部位置
{
*s = *p;
s++;
}
p++;
}
*s = '\0'; //在字符串末尾加上结束符
}
int main()
{
char s[] = "48CTYP9E6";
fun(s);
printf("%s",s);
return 0;
}
```
思路:
遍历字符串,如果当前字符是字母,则将其放到字符串头部位置。最后在字符串末尾加上结束符。
阅读全文