用c语言编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置, 否则输出NO样例输入: Hello a 样例输出: NO 样例输入: Hellol 样例输出: 2
时间: 2024-03-14 11:44:43 浏览: 23
以下是使用 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语言从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置, 否则输
以下是使用 C 语言编写的示例代码,实现从键盘输入一任意字符串,然后输入所要查找的字符,如果存在则输出它在字符串中第一次出现的位置,否则输出不存在的消息。
```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("字符 %c 不存在于字符串中\n", ch);
}
return 0;
}
```
该程序首先声明了一个字符数组 `str` 和一个字符变量 `ch`,用于存储输入的字符串和要查找的字符。然后,程序使用 `scanf()` 函数从键盘上分别读入字符串和字符。
接下来,程序初始化位置变量 `pos` 为 -1,表示要查找的字符在字符串中尚未出现过。接着,程序使用 `for` 循环遍历字符串中的每个字符,如果找到了要查找的字符,就更新位置变量 `pos` 的值为该字符在字符串中的索引,并且退出循环。
最后,程序根据位置变量 `pos` 的值,输出相应的结果。如果 `pos` 不是 -1,说明要查找的字符在字符串中出现过,程序输出该字符在字符串中第一次出现的位置;否则,说明要查找的字符没有在字符串中出现过,程序输出相应的消息。
用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;
}
```
这个程序首先读入一个字符串,然后读入要查找的字符。接着用一个循环遍历字符串中的每个字符,当遇到要查找的字符时,记录下它的位置,并跳出循环。最后根据是否找到要查找的字符,输出相应的结果。
需要注意的是,在读入要查找的字符时,要在前面加一个空格,用于清空输入缓冲区。否则,因为之前输入字符串时按下了回车键,回车符会留在缓冲区中,直接读入一个字符会读到这个回车符,导致程序出错。