编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。 #include<stdio.h> #include<string.h> int main() { char str[100]; char *p; p=&str; scanf("%s",&str); while(*p!='\0') { /******************************* 请在该部分补充缺少的代码 ********************************/ } return 0; } 输入 一个字符串,长度不超过80个字符。 输出 删掉非英文字母后的字符串。 输入输出样例 样例输入 #1 abc123+xyz.5 样例输出 #1 abcxyz
时间: 2023-07-01 15:23:59 浏览: 113
好的,这是一个删除字符串中非英文字母的程序,下面是补充完整的代码:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h> // 头文件ctype.h中包含了isalpha函数
int main()
{
char str[100];
char *p;
p = str;
scanf("%s", &str);
while (*p != '\0')
{
if (isalpha(*p)) // 判断*p是否为英文字母
{
printf("%c", *p); // 输出*p
}
p++; // 指针p向后移动一个字符
}
return 0;
}
```
程序中使用了C标准库中的ctype.h头文件中的isalpha函数,该函数用于判断一个字符是否为英文字母。如果是英文字母就输出,否则就跳过不输出。
相关问题
从键盘读入一串字符,再输入一个字符,从字符串中删除这个输入的字符。 #include <stdio.h>
可以先用input()函数从键盘读入一串字符并保存到一个变量中,然后再用input()函数输入要删除的字符。接着,可以使用replace()函数将这个字符在字符串中替换为空字符串,最后输出修改后的字符串即可完成操作。具体代码如下:
```python
# 读入一串字符
string = input("请输入字符串:")
# 输入要删除的字符
char = input("请输入要删除的字符:")
# 删除字符
new_string = string.replace(char, "")
# 输出修改后的字符串
print("修改后的字符串为:", new_string)
```
程序功能: 输入一个字符串,统计字符串中非英文字母的字符个数并输出。英文字母包括大写和小写英文字母. [输入格式]在一行中输入不超过80个字符长度的、以回车结束的非空字符串。 [输出格式] 在一行中输出字符串中非英文字母的字符个数。 [入样] Hello World! [输出样例] 6 [函数定义要求]请在该程序文件中,实现函数int fnlet (char str),统计字符串str中非英文字母的字符个数,并作为函数的返回结果.,补全代码#include <stdio.h> int fnlet(char str[]); int main(void) { char str[80]; gets(str); printf("%d",fnlet(str)); return 0; } /*考生在以下空白处定义函数*/ /*考生在以上空白处定义函数*/
补全代码如下:
```c
#include <stdio.h>
int fnlet(char str[]);
int main(void) {
char str[80];
gets(str);
printf("%d", fnlet(str));
return 0;
}
int fnlet(char str[]) {
int cnt = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (!(str[i] >= 'a' && str[i] <= 'z') && !(str[i] >= 'A' && str[i] <= 'Z')) {
cnt++;
}
}
return cnt;
}
```
该程序先读入一个字符串,然后在函数fnlet中遍历字符串,如果当前字符不是英文字母,则计数器cnt加一。最后将cnt作为函数的返回值。在主函数中调用fnlet函数,将返回值输出即可。需要注意的是,本题中输入的字符串可能包含空格,因此不能使用scanf函数读入字符串,而应使用gets函数。
阅读全文