请编写一个函数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); } 使用c语言编写
时间: 2024-03-22 18:38:14 浏览: 62
以下是函数fun的代码实现:
```c
void fun(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'; // 将新字符串的结尾标记'\0'放置到原字符串中
}
```
函数的实现思路是:
1. 遍历输入字符串s中的每一个字符;
2. 如果当前字符不是数字字符,则将该字符复制到原字符串s中,并更新新字符串的下标;
3. 最后将新字符串的结尾标记'\0'放置到原字符串s中,以确保输出结果正确。
相关问题
请编写一个函数 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;
}
```
思路:
遍历字符串,如果当前字符是字母,则将其放到字符串头部位置。最后在字符串末尾加上结束符。
阅读全文