PIPIOJ_1011:容易的题

本文介绍了一个编程问题,要求检测输入字符串中是否按照EASY顺序排列,提供了C语言实现的代码片段和解题思路。
摘要由CSDN通过智能技术生成

Problem Description

大家都很关心考试难易程度。K老师出题有一个规律,在出题之前,他会随机写下一个字符
串,只要这个字符串中能按顺序找到E,A,S,Y四个字母。他出题就会比较简单。你拿到了这个
字符串,请你告诉考试的题目难不难吧。

Input

输入数据有多组,每组占一行,由一个字符串组成(字符串的长度不超过1000)

Output

对于每组输入,输出一行,对应一个要求的答案(题目容易就输出easy,难就输出difficult)。

Sample Input

eAsy
SEoAtSNY

Sample Output

difficult
easy

解题思路

  1. 将字符串“EASY”存放至对比数组cmp中。
  2. 遍历输入字符串,对比成功后,cmp指针j++。
  3. 当j==4时,cmp对比完成,匹配成功。

经验总结

  1. 一开始定义了四个char类型变量分别保存“E”、“A”、“S”、“Y”,再用一个char类型变量记录当前需要匹配的字符,后面发现还是数组方便。

AC代码(C)

// http://pipioj.online/problem.php?id=1011
#include <stdio.h>

#define false 0
#define true 1

typedef int bool;

bool match(char s[]) {
    char cmp[4] = "EASY";
    int i = 0, j = 0;
    while (s[i]) {
        if (s[i] == cmp[j]) {
            j++;
            if (j == 4)
                return true;
        }
        i++;
    }
    return false;
}

int main() {
    char str[1001];
    while (~scanf("%s", str)) {
        if (match(str))
            printf("easy\n");
        else
            printf("difficult\n");
    }
    return 0;
}
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值