九度1197 奇偶校验

/********************************* 
 *    日期:2013-1-12 
 *    作者:SJF0115 
 *    题号: 九度1197
 *    题目:奇偶校验
 *    来源:http://ac.jobdu.com/problem.php?pid=1197
 *    结果:AC 
 *    题意: 
 *    总结: 关键是十进制转换为二进制
**********************************/ 
#include <stdio.h>
#include <string.h>

int main(){
	char character[101];
	int k,n,len,count,i,j;
	//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); 
	while(scanf("%s",character) != EOF){

		int binaryArray[8];
		len = strlen(character);
		for(i = 0;i < len;i++){
			n = (int)character[i];
			k = 0;
			count = 0;
			//转换称二进制
			for(j = 0;j < 7;j++){
				if(n % 2 == 1){
					count ++;
				}
				binaryArray[k++] = n % 2;
				n = n / 2;
			}
			//奇检验
			if(count % 2 == 0){
				binaryArray[j] = 1;
			}
			else{
				binaryArray[j] = 0;
			}
			//输出二进制位
			for(j = 7;j >= 0;j--){
				printf("%d",binaryArray[j]);
			}
			printf("\n");
		}
	}
	return 0;
}

你可能感兴趣的:(九度1197 奇偶校验)