//算法求解:給兩個十進制數先異或然後輸出其二進制數字
#include<stdio.h>
#include<stdlib.h>
#define N 100
int main(){
FILE *fp1,*fp2;
fp1=fopen("1.in","r");
fp2=fopen("1.out","w");
int s1,s2;
char str1[N];
char n1[N],n2[N];
while(fscanf(fp1,"%s%s",n1,n2)!=EOF){
s1=atoi(n1);
s2=atoi(n2);
int m=s1^s2;//注此處十進制數字可以直接異或
itoa(m,str1,2);//轉化成二進制數字存儲在字符串中
/*
或者如下:
int x=0;
while(m/2){
x=x*10+m%2;
m/=2;
}
x=x*10+m%2;
*/
fprintf(fp2,"%s",str1);//輸出在字符串中
}
return 0;
}
USTC機試—將文件中輸入的兩個十進制數字異或後輸出二進制到另一個文件中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.