输入一个字符,再输入一个以回车结束的字符串(少于80 个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标从0 开始);否则输出“Not Found”。
时间: 2024-02-25 14:59:18 浏览: 56
好的,以下是符合要求的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char c, str[80];
int max_index = -1;
scanf("%c\n", &c); // 输入字符
fgets(str, 80, stdin); // 输入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == c) {
max_index = i; // 更新最大下标
}
}
if (max_index != -1) {
printf("%c 在字符串中所对应的最大下标为 %d\n", c, max_index);
} else {
printf("Not Found\n");
}
return 0;
}
```
程序首先通过 `scanf()` 函数读入一个字符,然后通过 `fgets()` 函数读入一个以回车符结束的字符串。接着程序遍历字符串中的每个字符,如果找到与输入的字符相同的字符,就更新最大下标。最后判断最大下标是否被更新过,如果被更新过就输出最大下标,否则输出 "Not Found"。
需要注意的是,在读入字符时需要在 `%c` 后加上 `\n`,以消耗输入缓冲区中的回车符。此外,在程序中使用了 `-1` 表示字符在字符串中没有出现,因为字符串的下标从 0 开始。
阅读全文