#include<>#include<>voidmain(){do{charA[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//十六进制所对应的数charS[30],S1[30];];//S为记录翻转后的数组,S1为记录转换后的数组inti=0,d=0,m;intX,X1=0,X2=0;//X为输入的十进制数,//X1为翻转后的十六进制数再转换而来的十进制数,X2为十进制数再翻转而来的十进制数cout<<"请输入一个10000以内的整数:";cin>>X;//输入想翻转转换的数cout<<endl;cout<<"转换翻转过程结果如下:"<<endl;for(intn=0;n<5;n++){ cout<<X<<'\t';i=0; while(X>=16){S[i]=A[X%16];//将十进制的数转换为十六进制的数i++;X/=16;}S[i]=A[X];for(intj=i;j>=0;j--)S1[i-j]=S[j];//将翻转的十六进制数再次转回来i++;S1[i]='\0';S[i]='\0';cout<<S1<<'\t';cout<<S<<'\t';intz=strlen(S);//计算S的长度i=0;while(S[i]!='\0'){for(intj=0;j<16;j++)if(A[j]==S[i]){X1+=j*(int)pow(16,--z);//将十六进制数再次换为十进制break;}i++;}cout<<X1<<endl;if(n<4){ while(X1>0) { intd=X1%10;//将十进制数翻转 X1/=10; X2=10*X2+d; }; X=X2;X2=0; }}cout<<"五次循环后的结果是:"<<X1<<endl;cout<<"********************************************"<<endl;cout<<"请选择是否继续游戏?(1继续,0结束)";cin>>m;}//确定是否继续游戏while(m);}
进制转换翻转小游戏 来自淘豆网m.daumloan.com转载请标明出处.