用c语言编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置, 否则输出NO样例输入: Hello a 样例输出: NO 样例输入: Hellol 样例输出: 2
时间: 2024-03-14 09:44:43 浏览: 110
以下是使用 C 语言编写的示例代码,实现从键盘输入一任意字符串,然后输入所要查找的字符,如果存在则输出它在字符串中第一次出现的位置,否则输出 NO。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], ch;
int i, pos;
printf("请输入字符串: ");
scanf("%s", str);
printf("请输入要查找的字符: ");
scanf(" %c", &ch);
pos = -1; // 初始化位置为 -1
for (i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
pos = i;
break;
}
}
if (pos != -1) {
printf("字符 %c 在字符串中第一次出现的位置是 %d\n", ch, pos);
} else {
printf("NO\n");
}
return 0;
}
```
该程序与前面给出的示例代码类似,只是在输出不存在的消息时,将消息改为了 NO,并且在输出 NO 后加上了换行符。
相关问题
用c语言编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查 找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NQ
好的,这个问题很简单,可以用C语言的字符串操作函数来实现。
以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], ch;
int i, pos = -1;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要查找的字符:");
scanf(" %c", &ch); // 注意前面有一个空格,用于清空输入缓冲区
for (i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
pos = i;
break;
}
}
if (pos == -1) {
printf("NQ\n");
} else {
printf("%d\n", pos);
}
return 0;
}
```
这个程序首先读入一个字符串,然后读入要查找的字符。接着用一个循环遍历字符串中的每个字符,当遇到要查找的字符时,记录下它的位置,并跳出循环。最后根据是否找到要查找的字符,输出相应的结果。
需要注意的是,在读入要查找的字符时,要在前面加一个空格,用于清空输入缓冲区。否则,因为之前输入字符串时按下了回车键,回车符会留在缓冲区中,直接读入一个字符会读到这个回车符,导致程序出错。
编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查 找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NQ用c语言
下面是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], c;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要查找的字符:");
scanf(" %c", &c); // 注意要在%c前加空格,避免读入回车符
char* pos = strchr(str, c); // 在字符串中查找字符
if (pos != NULL) {
printf("%c在字符串中第一次出现的位置是:%d\n", c, pos - str);
} else {
printf("NQ\n");
}
return 0;
}
```
运行结果:
```
请输入一个字符串:hello
请输入要查找的字符:l
l在字符串中第一次出现的位置是:2
```
```
请输入一个字符串:world
请输入要查找的字符:x
NQ
```
阅读全文