请编写一个函数 fun ,它的功能是:删除字符串中的数字字 符。例如输入字符串:48CTYP9E6,则输出: CTYPE 。 # include < stdio . h > void fun
时间: 2024-03-19 14:40:20 浏览: 46
( 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;
}
```
思路:
遍历字符串,如果当前字符是字母,则将其放到字符串头部位置。最后在字符串末尾加上结束符。
【程序填空】 题目:请编写一个函数 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);
}
```
阅读全文