用C语言做,查找字符,首先从键盘上输入一个字符串s(最多80个字符)和一个待查找的字符ch,然后在字符串s中进行查找,如果找到了字符ch,则输出相应数组元素的下标,如果找不到,则输出“查无此字符”的信息,最后换行。参考微课视频:利用循环实现不对称判断https://www.bilibili.com/video/BV1yB4y127ck/输入格式:从键盘上输入一个字符串s(最多80个字符)和一个待查找的字符ch,之间用回车分隔。输出格式:在串s中进行查找,如果找到了字符ch,则输出其所在位置的下标,如果找不到,则输出“查无此字符”的信息,最后换行。
时间: 2024-03-30 15:34:12 浏览: 165
好的,下面是对应的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
int main()
{
char s[MAX_LEN + 1], ch;
int i, pos = -1;
scanf("%s %c", s, &ch); // 从键盘上输入字符串s和待查找的字符ch
for (i = 0; i < strlen(s); i++) { // 循环查找字符ch
if (s[i] == ch) {
pos = i; // 找到了,记录下标
break; // 跳出循环
}
}
if (pos == -1) {
printf("查无此字符\n");
} else {
printf("%d\n", pos);
}
return 0;
}
```
代码中用`s`数组存储输入的字符串,`ch`存储待查找的字符,`pos`表示字符`ch`在字符串`s`中的下标,初值为-1,如果最后找到了,就会被更新为相应的下标。用`for`循环遍历`s`数组,查找字符`ch`,如果找到了,就更新`pos`并跳出循环。最后根据`pos`的值输出结果。
相关问题
写一个C语言程序实现:首先从键盘上输入一个字符串s(最多80个字符)和一个待查找的字符ch,然后在字符串s中进行查找,如果找到了字符ch,则输出相应数组元素的下标,如果找不到,则输出“查无此字符”的信息,最后换行。
以下是实现该功能的C语言程序代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
int main() {
char s[MAX_LEN + 1];
char ch;
int i, index = -1;
printf("请输入一个字符串s(最多80个字符):");
scanf("%s", s);
printf("请输入待查找的字符ch:");
scanf(" %c", &ch);
for (i = 0; i < strlen(s); i++) {
if (s[i] == ch) {
index = i;
break;
}
}
if (index == -1) {
printf("查无此字符\n");
} else {
printf("字符%c在字符串s中的下标为%d\n", ch, index);
}
return 0;
}
```
程序先定义了一个字符串数组`s`和一个字符`ch`,并规定字符串长度不超过80个字符。然后分别从键盘上读入字符串`s`和待查找的字符`ch`。接下来,程序使用`for`循环遍历字符串`s`的每一个字符,如果找到了字符`ch`,则记录相应的下标,然后跳出循环。最后,程序根据是否找到`ch`输出相应的信息。
首先从键盘上输入一个字符串s(最多80个字符)和一个待查找的字符ch,然后在字符串s中进行查找,如果找到了字符ch,则输出相应数组元素的下标,如果找不到,则输出“查无此字符”的信息,最后换行。程序C语言不要c++
以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s[81], ch;
int i, len, flag = 0; // 标记是否找到字符ch
fgets(s, 81, stdin); // 输入字符串s
len = strlen(s) - 1; // 减1去掉字符串末尾的换行符
scanf("%c", &ch); // 输入待查找的字符ch
for(i = 0; i < len; i++)
{
if(s[i] == ch)
{
printf("%d\n", i); // 输出字符ch在字符串s中的下标
flag = 1; // 找到字符ch
break;
}
}
if(!flag)
printf("查无此字符\n");
return 0;
}
```
其中,使用`fgets()`函数获取字符串` s`,`strlen()`函数获取字符串长度,并且需要减去1去掉字符串末尾的换行符。然后使用`for`循环逐个比较字符串`s`中的字符与待查找的字符`ch`,如果找到了则输出相应数组元素的下标,设置标记`flag`为`1`,并且跳出循环;如果循环结束后`flag`为0,说明没有找到,则输出“查无此字符”的信息。
阅读全文