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;
    }
  • 相关阅读:
    通用二进制格式安装、编译安装过程(以mysql为例)
    linux:网络
    深圳:软通-运维
    深圳:软通-python
    linux:用户管理
    linux:vim
    深圳:卡莱特-售前/售后服务
    linux:基本指令
    linux:安装
    电脑:磁盘扩容
  • 原文地址:https://www.cnblogs.com/zongji/p/12403803.html
Copyright © 2011-2022 走看看