计蒜课难题题库之奇怪的国家
2016-03-14 10:42
281 查看
这是很简单的一道题啊:
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。
输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法。
输入:
输出:
我的思路很简单,没有做什么字符型数组与整数数组的转化,就是简单的比较两个字符数组每个元素的大小,相同第三个数组就为1,否则就为0。
代码:
总结:
我遇到了个问题,就是gets与fgets输入时,gets会舍弃最后的换行符,而fgets会加入数组,所以长度会比gets多一。
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。
输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。
输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法。
输入:
11100101 00101011
输出:
00110001
我的思路很简单,没有做什么字符型数组与整数数组的转化,就是简单的比较两个字符数组每个元素的大小,相同第三个数组就为1,否则就为0。
代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> void judge(char a1[],char a2[],char a3[],int long_num) { int i; for(i=0;i<long_num;i++) { if(a1[i]==a2[i]) { a3[i]='1'; } else { a3[i]='0'; } } a3[long_num]='\0'; } int main() { char a1[50]; char a2[50]; int long1,long_num; int i; gets(a1); gets(a2); long_num=strlen(a1); if(long_num!=strlen(a2)) { printf("Different lenth"); exit(0); } char *a3; a3=malloc(sizeof(char)*(long_num+1)); judge(a1,a2,a3,long_num); puts(a3); }
总结:
我遇到了个问题,就是gets与fgets输入时,gets会舍弃最后的换行符,而fgets会加入数组,所以长度会比gets多一。
相关文章推荐
- Slickflow.NET 开源工作流引擎基础介绍(四) -- 多数据库支持实现
- tomcat deploy部署项目三种方法
- AJAX相关代码及使用JOSN格式时,必须设置字符集,否则会乱码
- 3动画方法
- android studio mipmap 目录和 drawable 目录有什么区别
- HDU 1166 敌兵布阵【线段树 单点更新】
- redis数据导出,报错Could not connect to Redis at ip:port: Cannot assign requested address解决方法
- MVC从路由中匹配出Controler的名称
- TCP三次握手
- 采购接收直接入库interface导入
- android中activity切换时白屏问题
- 回文串问题
- Hibernate关联关系配置(一对多、一对一和多对多)
- JAVA设计模式之单例模式
- JS获取IP、MAC和主机名的几种方法
- OpenCV——GMM混合高斯模型
- 堆和栈的区别(转过无数次的文章)
- 扑克牌大小
- [转]Hibernate延迟加载与opensessioninviewFilter
- 1.2、Mybatis二级缓存测试