PTA 编程题(C语言)-- 查找指定字符

这篇具有很好参考价值的文章主要介绍了PTA 编程题(C语言)-- 查找指定字符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目标题:查找指定字符          题目作者:颜晖 浙江大学

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

输入格式:

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

输出格式:

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

输入样例1:

m
programming

输出样例1:

index = 7

输入样例2:

a
1234

输出样例2:

Not Found

思路1:先把要查找的字符输入到变量从c1中。然后在用循环读取第二行的每一个字符到变量c2中。每读一个字符,给变量i递增1,并且用当前读取的字符c2和c1进行比较,如果相等,则用变量max记录当前的i;直到把第二行末尾的'\n'输入给了c2就结束循环。循环结束时max的值恰好就是c1中存放的字符,在第二行字符串中出现的最大下标。

注意:(1)用scanf("%c", &c2)来代替c2=getchar()。

(2)在输入完第一行字符给c1后,注意第一行末尾的'\n'有没有被处理。处理的方法有两种:(i)可以在scanf("%c\n",&c1)中%c后面的\n,来把末尾的\n匹配掉;(ii)用getchar()吃掉这个\n。这两种处理方法在下面的代码中都有展示。
(3)给max初始化成-1,如果在第二行的字符串中没有找到第一行的字符,max就一直为-1。最后max的值是否为-1,来决定输出"Not Found",还是正常输出。

代码1-1:

#include <stdio.h>
int main () {
    int i = 0, max = -1;
    char c1,c2;
    scanf("%c\n", &c1);
    c2 = getchar();          //getchar()可以读一个字符(包括空格换行等转义字符),返回该字符的ascii码值
    // scanf("%c", &c2);
    while (c2 != '\n') {
        if (c2 == c1) max = i;
        c2 = getchar();
        // scanf("%c", &c2);
        i++;
    }
    printf(max==-1?"Not Found":"index = %d",max);
    return 0;
}

代码1-2:

#include <stdio.h>
int main () {
    int i = 0,index = -1;
    char c1,c2;
    scanf("%c", &c1);
    getchar();        // 用getchar()把上一行末尾的\n吃掉;
    c2 = getchar();        
    while (c2 != '\n') {
        if (c2 == c1) index = i;
        c2 = getchar();
        i++;
    }
    printf(index==-1?"Not Found":"index = %d",index);
    return 0;
}

思路2:直接用字符型数组str把第二行的字符串(有可能中间有空格)读入,一般来说要用gets(str),也可以用scanf("%[^\n]", str),注意这种用了正则表达式。

代码2:文章来源地址https://www.toymoban.com/news/detail-767076.html

#include <stdio.h>
int main () {
    int i = 0,index = -1;
    char c, str[81];
    scanf("%c\n", &c);
    gets(str);
    // scanf("%[^\n]", str);  // 用%s输入字符串,遇到空格会停止,要把空格包括在内可以用"%[^\n]",会读到'\n'为止 
    while (str[i] != '\0') {
        if (str[i] == c) index = i;
        i++;
    }
    printf(index==-1?"Not Found":"index = %d",index);
    return 0;
}

到了这里,关于PTA 编程题(C语言)-- 查找指定字符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编写程序,输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。(while)

    编写程序,输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。(while)

    2024年02月11日
    浏览(54)
  • [题] 查找最大元素 #字符输入

    相关笔记汇总:[笔记] 字符串输入 #字符输入 题目:1381 查找最大元素

    2024年02月06日
    浏览(69)
  • 【C语言】PTA——字符串比较

    编写一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为“int strcmp(char* p1,char* p2);”设p1指向字符串s1,p2指向字符串s2,要求当s1==s2时,函数返回值为0;若s1≠s2,则返回二者中第一个不相同字符的ASCII码差值(如\\\"BOY\\\"与\\\"BAD\\\"的第二个字母不同,\\\'O\\\'与\\\'A\\\'之差为

    2024年02月04日
    浏览(43)
  • PTA C语言 7-1 删除字符串中指定字母

    请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出。例如,输入字符串abcaca,输出bcc。 输入样例: 输出样例: 答案:   数组实际上就是指针,所有没有问题 因为

    2024年02月03日
    浏览(56)
  • PTA 编程题(C语言)-- 输出闰年

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。 输入格式: 输入在一行中给出21世纪的某个截止年份。 输出格式: 逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则

    2024年02月05日
    浏览(46)
  • 【PTA-C语言】编程练习4 - 数组Ⅱ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 作者 李民 单位 武汉理工大学 本题模拟2048游戏的规则,提供4X4个格子,输入每个格子的初始值(空白格子值为0),玩家选择向下移动,所有数字向下靠拢,相同的数字相撞时会合并。移动结束后,输出合并后的数值

    2024年02月03日
    浏览(41)
  • 【PTA-C语言】编程练习4 - 数组Ⅰ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 作者 翁恺 单位 浙江大学 班级里要搞智力竞赛啦!同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢? 输入格式:

    2024年02月03日
    浏览(41)
  • 【PTA-C语言】编程练习3 - 循环结构Ⅱ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。 输入格式: 输入在一行中给出不超过9的正整数a和n。 输出格式: 在一行中按照“s = 对应的和”的格式输出。 输入样例: 输出样例:

    2024年02月03日
    浏览(49)
  • PTA 编程题(C语言)-- 简化的插入排序

    题目标题:简化的插入排序       题目作者:C课程组 浙江大学 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 输入格式: 输入在第一行先给出非负整数N(10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

    2024年02月03日
    浏览(45)
  • PTA 编程题(C语言)-- 水仙花数

    题目标题:水仙花数             题目作者:徐镜春  浙江大学 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+5^3+3^3。 本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3≤N≤7)。 输出

    2024年02月04日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包