PTA实验7-3-2 查找指定字符 (15分)

本题要求编写程序,从给定字符串中查找某指定的字符。

输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。

输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。

输入样例1:
m
programming

输出样例1:
index = 7

输入样例2:
a
1234

输出样例2:
Not Found

#include
int main()
{
	char a,ch,str[80],index=-1,length=0;
	scanf("%c\n",&a);
    ch=getchar();
	for(int i=0;i<80&&ch!='\n';i++)
    {
        length++;
        str[i]=ch;
        ch=getchar();
    }
	for(int j=0;j<length;j++)
	{
		if(str[j]==a)
		index=j;
	}
	if(index==-1)
	printf("Not Found\n");
	else
	printf("index = %d\n",index);	
	return 0;
}

核心要点是:字符串输入时scanf函数和getchar函数和gets函数的区别和用法
读取字符时:
scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
getchar()以Enter结束输入,也不会舍弃最后的回车符;
读取字符串时:
scanf()以Space、Enter、Tab结束一次输入
gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符!
参考链接:深入了解scanf() getchar()和gets()等函数之间的区别_
gets函数是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读到字符串中。
getchar()是读取一个字符,包括回车键也会被读成一个字符。
C语言中gets()函数和getchar()函数什么区别 ?百度知道

你可能感兴趣的:(PTA)