C语言写代码:查找一个字符在另一个字符串中首次出现的位置(第一个字符位置为1),要求字符串和字符都从键盘输入,可以分别用gets和getchar函数。。
时间: 2024-05-12 10:17:27 浏览: 89
可以使用以下代码实现:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int i, n;
printf("请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
ch = getchar();
n = strlen(str);
for (i = 0; i < n; i++) {
if (str[i] == ch) {
printf("%c在%s中第一次出现的位置是%d。\n", ch, str, i + 1);
break;
}
}
if (i == n) {
printf("%c在%s中未出现过。\n", ch, str);
}
return 0;
}
```
输入一个字符串和一个字符后,使用strlen函数获取字符串长度,然后使用for循环遍历字符串的每一个字符,判断是否与输入的字符相同,如果相同,则输出字符在字符串中的位置,并使用break语句跳出循环;如果遍历完整个字符串,仍未找到相同字符,则输出字符未出现过的提示。
相关问题
C语言实现:在一个字符串中查找指定的字符,并输出指定的字符在字符串中出现的次数及位置,如果该字符串中不包含指定的字符,请输出提示信息。
下面是一份C语言的代码实现,可以实现你的需求:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], ch;
int count = 0;
printf("请输入字符串:\n");
gets(str);
printf("请输入要查找的字符:\n");
scanf("%c", &ch);
printf("您要查找的字符是:%c\n", ch);
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
printf("字符 %c 出现在位置 %d\n", ch, i+1);
count++;
}
}
if (count == 0) {
printf("字符串中不包含指定的字符 %c\n", ch);
} else {
printf("字符 %c 在字符串中出现的次数为 %d\n", ch, count);
}
return 0;
}
```
这份代码首先要求用户输入一个字符串和一个要查找的字符,然后遍历字符串中的每一个字符,找到与要查找的字符相同的字符就输出它的位置,同时统计出现次数。如果字符串中不包含指定的字符,则输出提示信息。注意,因为字符串中的第一个字符的位置是1,所以在输出时需要将位置加1。
输入一个字符串和一个字符,查找并输出字符在字符串中首次出现的位置,如果没有,则输出1 用c语言实现
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int index = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入一个字符:");
scanf("%c", &ch);
// 在字符串中查找字符
char *ptr = strchr(str, ch);
if (ptr != NULL) {
// 如果找到,计算字符在字符串中的位置
index = ptr - str + 1;
printf("%c在%s中的位置为:%d\n", ch, str, index);
} else {
// 如果没有找到,输出1
printf("%c不在%s中\n", ch, str);
index = 1;
}
return 0;
}
```
代码中使用了 `strchr()` 函数来在字符串中查找字符,如果找到了,则计算字符在字符串中的位置;如果没有找到,则输出1。
阅读全文