【九度OJ】题目1197:奇偶校验 解题报告
来源:互联网 发布:网龙网络校招 编辑:程序博客网 时间:2024/06/18 17:01
【九度OJ】题目1197:奇偶校验 解题报告
标签(空格分隔): 九度OJ
http://ac.jobdu.com/problem.php?pid=1197
题目描述:
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。
输入:
输入包括一个字符串,字符串长度不超过100。
输出:
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。
样例输入:
33a
样例输出:
101100111011001101100001
Ways
状态不好的时候就是老出错。首先明白题意,对字符的ASCii进行奇校验。首先转成对应的二进制,然后判断1的个数,如果是奇数把首位字符改成0即可。
这个可以使用BigInteger类直接转成二进制再处理。但我用C++解决的。
这几个地方出错了:
1.int answer[10];memset(answer, 0, sizeof(answer));
应该放到循环体里。
2.temp别忘了处理,p别忘了++
3.判断一个数字的尾数可以直接&1
#include<stdio.h>#include<string.h>int main() { char a[110]; while(gets(a)!=NULL) { int len = strlen(a); for (int i = 0; i < len; i++) { int answer[10]; memset(answer, 0, sizeof(answer)); int temp = a[i]; int p = 0; int count = 0; while (temp) { answer[p++] = temp & 1; if ((temp & 1) == 1) { count++; } temp /= 2; } if ((count & 1) == 1) { answer[7] = 0; } else { answer[7] = 1; } for (int j = 7; j >= 0; j--) { printf("%d", answer[j]); } printf("\n"); } } return 0;}
Date
2017 年 3 月 19 日
0 0
- 【九度OJ】题目1197:奇偶校验 解题报告
- 题目1197:奇偶校验(九度OJ)
- 九度OJ 题目1197:奇偶校验
- 【九度OJ】题目1202:排序 解题报告
- 【九度OJ】题目1061:成绩排序 解题报告
- 【九度OJ】题目1185:特殊排序 解题报告
- 【九度OJ】题目1023:EXCEL排序 解题报告
- 【九度OJ】题目1054:字符串内排序 解题报告
- 【九度OJ】题目1431:Sort 解题报告
- 【九度OJ】题目1065:输出梯形 解题报告
- 【九度OJ】题目1052:找x 解题报告
- 【九度OJ】题目1069:查找学生信息 解题报告
- 【九度OJ】题目1173:查找 解题报告
- 【九度OJ】题目1433:FatMouse 解题报告
- 【九度OJ】题目1435:迷瘴 解题报告
- 【九度OJ】题目1153:括号匹配问题 解题报告
- 【九度OJ】题目1108:堆栈的使用 解题报告
- 【九度OJ】题目1172:哈夫曼树 解题报告
- leetcode解题之303# Range Sum Query
- 1009:说反话
- 使用微信公众号接口一键获取全部关注用户的信息(openid,nickname,city,country,groupid,targetlist)
- 2016蓝桥杯C/C++省赛 寒假作业(深搜DFS)
- JavaScript学习-操作符
- 【九度OJ】题目1197:奇偶校验 解题报告
- L2-015. 互评成绩
- JBPM使用详解
- hdu 3786 找出直系亲属 (DFS)
- 注释
- 第4节 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用【Linux内核分析】
- n阶矩阵一般乘法-《算法导论》学习笔记五
- 多线程
- smart基本命令