Jasin Yip

计蒜客【挑战难题】系列讲解(七)奇怪的国家

题目

第7题:奇怪的国家

  有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
  输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。
  输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法。

样例输入

11100101
00101011

样例输出

00110001

C 实现

#include<stdio.h>
#include<string.h>
#define MAX 51    //设定数组大小 
int main(){
    //输入的第一个数据与第二个数据 
    char first[MAX], second[MAX];
    scanf("%s%s", first, second);
    /*题目已给定两个字符串长度相等 
    因此获取任一一个长度即可*/
    int len = strlen(first);
    for(int i = 0; i < len; i++){
        //根据题意判定对应位置的字符是否相等 
        if(first[i] == second[i])
            printf("1");
        else
            printf("0");
    }
    printf("\n");
    return 0;
}

它如何工作

输入部分

  根据题意,每行包括N个数字(1≤N≤50),因此正常int等都达不到该长度数值,并且不利于处理,因此想到使用字符串数组,同时要注意字符串数组结尾为**\,所以长度为字符串长度+1,所以需要定义长度为51。同时字符串数组使用%s格式输入,同时注意字符串数组使用%s输入不需要&**。

处理并输出部分

  输入后,我们得到了两串等长的字符串,题目说明1为赞同,0为反对,同为赞同时输出1。在此,我偷懒下,逐位判定对应位置是否都为统一,是则输出1,否则输出0。

小贴士

在本题中用到了strlen()取字符串长度函数,在这里建议大家去尝试下与该函数有关的第8题:字符串长度,此题要求我们实现取字符串函数的功能,建议大家尝试。

如有不懂,欢迎加入计蒜客QQ群咨询:

一群:239266679(满)
二群:228348940(满)
三群:159642279
四群:385386446

标签:c语言, 计蒜客, 挑战难题

已有 9 条评论

  1. LAMB LAMB

    为什么结尾使用first[i] * second[i]来实现答案就不对了呢???

    1. sheery静 sheery静

      肯定不能用*啊,用&(与)操作应该可以

  2. 风沙就是由无数松散沙粒组成的,但是他们却又紧密的联系在一起,那股叱诧风云,横击 而过的气概相信大家在作者的文章里也能体会的出来。

  3. ii Take pleasure in The best wow gold sales on Australia... i have got all the tall suntanners ones as well as the brief styles on Water(absolutely love this valuable coloring)...instant messaging bound for ones green versions...really now have em...any bailey control keys tend to be warm likewise..The best wow gold sales on Australia are quite nice..simple to wear when yu wont sense that tying the The best wow gold sales on Australia..lol...you can actually take him or her home..."If yu choose to convey it the summertime it is a deceive..so your paws will not sauna....draw these for base tights(selling footwear).....

  4. 文章构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范。

  5. very cute vera shoe! thank u so much!!!

  6. 能够在如此精彩的文章后面留下自己的网名是多么骄傲的一件事啊!

  7. llemon llemon

    用java这个实现更简单哈

添加新评论