本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
我的答案:
#include<stdio.h>
int main()
{
int i;
int len = 0, index = -1;//字符串长度,下标默认为-1方便后面判断
char a, str[80];//a为要查找的字符,str为字符串最大值为80
int ch;
scanf("%c\n", &a);/*这题的输入很奇怪,第一行的字符后面没有换行符,所以这样要用到%c\n,表示不等待换行符*/
ch = getchar();
for (i = 0; ch != '\n'; i++)
{
str[i] = ch;//将字符循环写入字符串
len++;//记录字符串长度
ch = getchar();
}
for (i = 0; i < len; i++)
{
if (a == str[i])
{
index = i;//这里不能用break,因为可能有多个字符符合
}
}
if (index != -1)
{
printf("index = %d", index);
}
else
{
printf("Not Found");
}
return 0;
}