本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
m
programming
输出样例1:
index = 7
输入样例2:
a
1234
输出样例2:
Not Found
代码如下:
#include <stdio.h>
int main() {
int i=0,index=-1;
char c;//存放用户指定字符
char s[81];//多一位放字符串结尾标志符
scanf("%c",&c);
getchar();//接收用户上一次输入敲击的回车
gets(s);
while(s[i]!='\0') {
if(s[i]==c) {
index=i;
}
i++;
}
if(index==-1){
printf("Not Found");
}else{
printf("index = %d",index);
}
return 0;
}
注:
1.这个gets()是可以读入回车的,所以在scanf()和gets中间如果不加个getchar(),那么scanf()完成读入后敲下的回车也会被gets()读进去。
2.gets()读入回车作为一行字符串读入的结束标志,并且将字符串尾部的回车替换成'\0',所以这里的字符数组我用了81个数组空间,否则系统会报错。