编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查 找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NQ ,用c语言
时间: 2024-03-01 07:51:03 浏览: 75
好的,这个问题可以用 C 语言来实现。下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100]; // 定义一个字符数组存储输入的字符串
char c; // 定义一个字符变量存储要查找的字符
int index; // 定义一个整型变量存储字符的位置
printf("请输入一个字符串:");
scanf("%s", s); // 输入字符串
printf("请输入要查找的字符:");
scanf(" %c", &c); // 注意要在 %c 前加一个空格,避免读入上一次输入的回车符
index = strchr(s, c) - s; // 使用 strchr 函数查找字符的位置
if (index < strlen(s)) { // 如果字符存在
printf("字符 %c 在字符串 %s 中第一次出现的位置为:%d\n", c, s, index);
} else { // 如果字符不存在
printf("NQ\n");
}
return 0;
}
```
首先定义一个字符数组 `s` 存储输入的字符串,一个字符变量 `c` 存储要查找的字符,一个整型变量 `index` 存储字符的位置。使用 `scanf` 函数从键盘输入一个字符串和要查找的字符。注意要在 `%c` 前加一个空格,避免读入上一次输入的回车符。
使用 `strchr` 函数查找字符的位置,它会返回字符在字符串中第一次出现的位置指针。由于 `s` 是字符数组,所以可以直接用指针减去 `s` 求出字符的位置。
如果字符存在,则输出字符在字符串中第一次出现的位置;否则输出 `NQ`。最后返回 0 表示程序运行成功。