题目:请编写一个函数fun,它的功能是:删除字符串中的数字字 符。例如输入字符串:48CTYP9E6,则输出:CTYPE。 -------------------------------------------------------*/ #include <stdio.h> /***********FILL***********/ void fun(_char *s;char s[]____) { char *p=s; while(*p) if((*p>='0')&&(*p<='9')) p++; else *s++=*p++; /***********FILL***********/ _*s='\0';*s=0____ } void main( ) { char item[100] ; printf("\nEnter a string: "); gets(item); fun(item); printf("\nThe string:\"%s\"\n",item); }
时间: 2023-07-05 11:24:37 浏览: 169
这是一道C语言编程题,要求编写一个函数,实现删除字符串中的数字字符,然后在main函数中调用该函数并输出结果。下面是完整代码:
```c
#include <stdio.h>
void fun(char *s, char s[]) {
char *p = s;
while (*p) {
if ((*p >= '0') && (*p <= '9')) {
p++;
} else {
*s++ = *p++;
}
}
*s = '\0';
}
int main() {
char item[100];
printf("Enter a string: ");
gets(item);
fun(item, item);
printf("The string: \"%s\"\n", item);
return 0;
}
```
在函数中,使用了一个指针p遍历字符串,如果当前字符是数字字符,就跳过,否则将其复制到新的字符串s中。最后在新字符串末尾添加'\0'作为字符串的结束标志。在main函数中,先输入字符串,然后调用fun函数,最后输出处理后的结果。需要注意的是,gets函数存在缓冲区溢出的风险,实际应用中应该使用更安全的输入函数。
相关问题
请编写一个函数 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 。 # include < stdio . h > void fun ( char * p = s ; while (* p ) if ((* p >='0')&&(* p <='9')) p ++; else * S ++=* D ++; void main char item [100]; printf ("\ nEnter a string :"); gets ( item ); fun ( item ); printf ("\ nThe string :\"%\"\ n ", item );
以下是填空后的代码:
```c
#include <stdio.h>
void fun(char *s){
char *p = s, *d = s;
while (*p){
if ((*p >= '0') && (*p <= '9'))
p++;
else
*d++ = *p++;
}
*d = '\0';
}
void main(){
char item[100];
printf("\nEnter a string: ");
gets(item);
fun(item);
printf("\nThe string: \"%s\"\n", item);
}
```
阅读全文