zoukankan      html  css  js  c++  java
  • CCF NOI1060 雷同检测

    问题链接CCF NOI1060 雷同检测




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述 

      考试的时候老师最讨厌有人抄袭了。自从有了电子评卷,老师要查找雷同卷,就容易多了,只要将两个人的答案输入计算机,进行逐个字符的比对,把相同的位置都找出来,就一目了然了。

    输入

      2行,每行包含一串字符(长度不超过200)

    输出

      1行,包含若干个以空格分隔的数字,表示出现相同字符的位置。

    样例输入

    I am a girl.I was born in 2002.
    I am a giel.I was birn in 2012.
    样例输出

    1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 30 31

    数据范围限制

     




    问题分析

      这是一个简单的字符串输入比较问题

    程序说明

      因为函数gets()已经不被推荐使用,所以编写了自己的函数mygets()用于读入一行的字符。

      不知道问题出在哪里?只得60分。如果程序中没有条件“if(isalpha(c) || isdigit(c) || c == '.' || c == ',' || c == ' ')”就只能得20分,郁闷啊!

    要点详解
    • 必要时,就自己写一个函数



    参考链接:(略)。

    得60分的C语言程序:

    #include <stdio.h>
    #include <ctype.h>
    
    #define N 200
    char s[N+1], t[N+1];
    
    int mygets(char s[])
    {
        int i = 0;
        char c;
    
        while((c = getchar()) && c != '
    ' && c != EOF)
            if(isalpha(c) || isdigit(c) || c == '.' || c == ',' || c == ' ')
                s[i++] = c;
        s[i] = '';
    
        return i > 0 || c != EOF;
    }
    
    int main(void)
    {
        int i;
    
        mygets(s);
        mygets(t);
    
        for(i=0; s[i]!='' && t[i]!=''; i++) {
            if(s[i] == t[i])
                printf("%d ", i + 1);
        }
    
        return 0;
    }



  • 相关阅读:
    基于.NET平台常用的框架整理
    简单的linq语法
    Newtonsoft.Json高级用法
    C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
    HTML URL 编码
    sql(SqlServer)编程基本语法
    正则表达式
    添加vs模板注释
    js实现无刷新表单提交文件,将ajax请求转换为form请求方法
    HTML5 手机端动态适配
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563893.html
Copyright © 2011-2022 走看看