第7题:奇怪的国家
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。
输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法。
样例输入
样例输出
#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。
真的额难受……感觉挺简单,实际自己打的还是一坨屎