用c语言写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
时间: 2024-02-09 22:10:39 浏览: 27
以下是一个用C语言编写的程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100], ch;
int i, count = 0;
// 获取输入的字符串
printf("请输入一个字符串:\n");
fgets(str, 100, stdin);
// 获取输入的字符
printf("请输入一个字符:\n");
scanf("%c", &ch);
// 将输入的字符转换为小写字母
ch = tolower(ch);
// 查找字符出现的次数
for (i = 0; str[i] != '\0'; i++) {
if (tolower(str[i]) == ch) {
count++;
}
}
// 打印结果
printf("输入的字符串中字符 %c 出现的次数为:%d\n", ch, count);
return 0;
}
```
输入样例:
```
请输入一个字符串:
This is a test string.
请输入一个字符:
s
```
输出样例:
```
输入的字符串中字符 s 出现的次数为:4
```
相关问题
用c语言写出统计一个字符串中的字母,数字、空格和其他字符的个数
你好,这个问题可以回答。以下是用 C 语言实现统计字符串中字母、数字、空格和其他字符个数的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letters = 0, digits = 0, spaces = 0, others = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letters++;
} else if (isdigit(str[i])) {
digits++;
} else if (isspace(str[i])) {
spaces++;
} else {
others++;
}
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
希望能对你有所帮助。
用C语言写一个程序,由用户输入字符串(字符串中含有空格),使用指针输出字符串中的数字字符
好的,下面是代码:
```c
#include <stdio.h>
int main() {
char str[100]; // 定义一个字符串数组
printf("请输入字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
char *p = str; // 定义一个指向字符串的指针
printf("字符串中的数字字符为:");
while (*p != '\0') { // 遍历字符串
if (*p >= '0' && *p <= '9') { // 判断当前字符是否为数字字符
printf("%c ", *p); // 输出数字字符
}
p++; // 指针指向下一个字符
}
printf("\n");
return 0;
}
```
代码解释:
先定义一个字符串数组 `str`,用于存储用户输入的字符串,长度为 100。
然后使用 `fgets` 函数从标准输入读取字符串,将其存储到 `str` 中。
接着定义一个指向字符串的指针 `p`,将其指向字符串的首字符。
然后使用 `while` 循环遍历字符串,对于每个字符,判断其是否为数字字符,如果是,则输出该字符。
最后输出换行符,结束程序。
希望能够帮到你!