zoukankan      html  css  js  c++  java
  • PAT1029 旧键盘(C完全正确)

    题目:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

    思路:遍历第一次输入的字符串str1,通过search函数查看str[i]是否出现在str2字符串中,输出没有出现的字符并且把输出过的字符保存起来,每次要输出字符前用search判断该字符是否输出过

    代码:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<ctype.h>
    int search(char str[],int n,char c)//查找数组中是否有相同字符
    {
        for (int i = 0; i < n; i++)
        {
            if (c == str[i])
                return 1;
        }
        return 0;
    }
    void tran_s(char str[],int n) //小写转换大写
    {
        for (int i = 0; i <n; i++)
        {
            if('a'<=str[i]&&'z'>=str[i])
            str[i] = toupper(str[i]);
        }
    }
    int main()
    {
        char str1[1290] = { '0' }, str2[129] = { '0' }, result[128];//保存输出结果
        scanf("%s%s", str1,str2);
        int len1 = strlen(str1), len2 = strlen(str2),step=0;
        tran_s(str1, len1);
        tran_s(str2, len2);
        for (int i = 0; i < len1; i++)
        {
            if (!search(str2, len2, str1[i])&&!search(result,step,str1[i]))//遍历str1,如果str1在str2中没出现过并且之前也没输出过的字符,输出,并且把输出过的保存起来
            {
                result[step++] = str1[i];
            }
        }
        return 0;
    }
  • 相关阅读:
    Hive数据倾斜原因和解决办法(Data Skew)
    Hive简介
    SQL---公共表表达式(CTEs)
    SQL面试题---topN问题
    SQL---分页查询
    SQL---自连接(self join)
    SQL---关联子查询(correlated subquery)
    SQL---CASE表达式
    SQL查询语句执行顺序
    SQL---窗口函数(window function)
  • 原文地址:https://www.cnblogs.com/zongji/p/12403803.html
Copyright © 2011-2022 走看看