一、题目
本题要求编写程序,从给定字符串中查找某指定的字符
二、输入与输出
输入:第一行是一个待查找的字符,第二行是一个以回车结束的非空字符串(不超过80个字符)
输出:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"
三、样例
四、代码
#include <stdio.h>
#include <string.h>
int main()
{
char a, b[100];
int c, i = 0, d = -1;
a = getchar();
//输入待查找的字符
getchar();
//吃掉字符'\n',否则会使系统错误识别,无法输出预期结果
gets(b);
c = strlen(b);
//小建议:字符数组的大小尽量以这种方法计算
for (i = 0; i < c; i++)
{
if (b[i] == a)
{
d = i;
}
}
//将数组中的字符与待查找的字符进行比较
if (d == -1)
//此处的d用于判断是否找到对应字符
{
printf("Not Found");
}
else
{
printf("index = %d", d);
}
return 0;
}
五、总结
基础知识:字符数组,strlen( )函数的运用,for循环
基本思想:设立标志——以d = -1为标志,判断是否找到了题目要求的字符
设立空档——以getchar( )吃掉多余的' \n '字符,以免系统错误识别
小编以为这道题的逻辑思维较轻松,需要注意的一点就是通过“getchar( )”吃掉' \n '字符,以免造成系统的错误识别。
同样,小编也希望大家如果发现了代码中的漏洞,请多多指正;又或者,大家有新的思路或者更简洁、更方便的代码,多多指点小编。
微语:专注你的梦想,做自己的英雄。