练习7-10|练习7-10 查找指定字符 (15 分)
练习7-10 查找指定字符 (15 分)本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
m
programming
输出样例1:
index = 7
输入样例2:
a
1234
【练习7-10|练习7-10 查找指定字符 (15 分)】输出样例2:
Not Found
C代码实现:
#include
#define max 100
int main(void)
{
char x;
char zfc[max];
int index,i,flag=0;
scanf("%c",&x);
getchar();
gets(zfc);
for(i=0;
zfc[i]!='\0';
i++)
{
if(zfc[i]==x)
{
flag=1;
index=i;
}
}
if(flag==1)
printf("index = %d",index);
else
printf("Not Found");
return 0;
}
结果:
文章图片
教训:刚开始的时候有几处低级错误:
1:
定义
#define max 80
,忘记字符串输入后自动在末尾补'\0'
,导致zfc[max]
不够内存,调试崩溃。2:
for(i=0;
zfc[i]!='\0';
i++);
后面我竟然顺手打多个;
导致index
不对。3:
scanf("%c",&x);
后面不能直接跟gets(zfc);
不然gets(zfc)
会把输入x
后的'\n'
吃掉。解决办法:scanf("%c\n",&x);
//这样不能用于字符串开头为空格的情况;
gets(zfc);
或
scanf("%c",&x);
//这样能用于字符串开头为空格的情况;
getchar();
gets(zfc);
4:
比较字符:字符a==字符b,相等值为1,不相等值为0;
比较字符串:
int strcmp ( char *s, char *t )
,相等则返回值为0,不相等返回值为字符的差值。(字符串操作函数在头文件string.h中说明。对应的编译预处理命令为:#include
)推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- Python基础|Python基础 - 练习1
- 呼吸练习心得
- 2018-04-16动画练习作业
- 一组水彩小练习
- 《简社》绝句练习之九
- 写作若是有了长期的练习,往后自然就可以了
- 2021—3—8日教练实践总结&呼吸练习&觉察日记
- 练习钢笔字335弹——积,欢迎围观参与|练习钢笔字335弹——积,欢迎围观参与|硬笔书法练习
- 鼎典书画|鼎典书画 | 《章法阶段练习》