编写程序,输入一个字符串(长度小于100),将所有的非小写字母删除后输出c语言
时间: 2024-10-16 21:22:30 浏览: 73
在C语言中,你可以编写一个简单的程序来实现这个功能。这里是一个使用`ctype.h`库中的函数来完成字母过滤的例子:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的相关函数
// 主函数
int main() {
char input[100];
printf("请输入一个字符串(长度小于100):");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,包括换行符
// 删除非小写字母
for (size_t i = 0; i < strlen(input); i++) {
if (islower(input[i])) { // 检查是否为小写字母
input[i] = tolower(input[i]); // 转化为小写并保留
} else {
input[i] = '\0'; // 非小写字母替换为空字符
}
}
input[strcspn(input, "\n")] = '\0'; // 移除换行符
printf("转换后的字符串是:%s", input);
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个字符串,然后只保留其中的小写字母,并删除其他所有字符。
相关问题
用c语言编写程序,输入一个字符串(长度小于100),将所有的非小写字母删除后输出 例如:输入:I’m 25 years old 输出:myearsold
在C语言中,你可以使用`ctype.h`库中的函数来检查字符是否为小写字母,并结合循环结构来完成这个任务。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char input[100];
printf("请输入一个字符串(长度小于100): ");
fgets(input, sizeof(input), stdin); // 使用fgets读取用户输入并包括换行符
// 删除非小写字母
int i = 0;
while (input[i]) { // 遍历字符串
if (islower(input[i])) { // 检查字符是否为小写字母
input[++i] = input[i]; // 如果是,保留原位置
}
}
input[i] = '\0'; // 结束字符串(去掉多余的'\n')
// 输出处理后的字符串
printf("处理后的字符串: %s\n", input);
return 0;
}
```
当运行此程序并输入"I’m 25 years old"时,它会输出"myearsold"。
编写程序实现从键盘输入一串字符,并将其中的小写字母转换为大写字母。 题目描述:字符串长度小于100。用c语言
在C语言中,你可以通过遍历输入的字符串,利用ASCII码的性质来实现小写字母转大写字母的功能。ASCII码规定,小写字母的编码比对应的大写字母编码小32。所以,当检测到一个小写字母时,可以通过加上32将其转换为相应的大写字母。以下是简单的代码示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数
int main() {
char str[100];
printf("请输入一串字符(长度小于100):");
fgets(str, sizeof(str), stdin); // 使用fgets读取一行字符,包含换行符
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (islower(str[i])) { // 检查字符是否为小写字母
str[i] = str[i] - 'a' + 'A'; // 转换为大写字母
}
}
printf("转换后的字符串是:%s\n", str);
return 0;
}
```
在这个代码中,`islower()` 函数检查字符是否为小写字母,如果是,则通过减去'a'的ASCII值再加上'A'的ASCII值来完成大小写的转换。
阅读全文