今天好开心啊,第一次系统返回的数据里面有笑脸,所以顺便探测了一下笑脸☺ASCII 01。
原题,以及改正后的代码放在另一个题目的文章里了
这里实(搞)验(怪)用的源码,如下
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char ch1[8],ch2[8];
int ans[16];
int maxx()
{
int m=0;
for(int i=0;i<4;i++)
<span style="white-space:pre"> </span>m=(m>=ch1[i]-'0')?m:ch1[i]-'0';
for(int i=0;i<4;i++)
m=(m>=ch2[i]-'0')?m:ch2[i]-'0';
return m;
}
void tentotwo(char c) //输出ASCII码
{
if(c/2 != 0)
tentotwo(c/2);
else
printf("%d",c/2);
printf("%d",c%2);
}
int main()
{
int T,jin=0,answ=0,c1,c2;
scanf("%d",&T);
while(T--){
memset(ch1,'0',sizeof(ch1));
memset(ch2,'0',sizeof(ch2));
memset(ans,0,sizeof(ans));answ=0;
scanf("%d%d",&c1,&c2);//cout<<c1<<" "<<c2;
for(int i=3;c1>0||c2>0;i--){
if(c1>0){ch1[i]=c1%10;c1/=10;} //笑脸的原因 输入 1 1 1
if(c2>0){ch2[i]=c2%10;c2/=10;}
}
cout<<ch2[3]<<endl;
tentotwo(ch2[3]);
char a=01;
cout<<"\n"<<a<<endl;
//swapp(ch1,ch2,str1,str2);//cout<<ch1<<" "<<ch2;
jin=maxx()+1;//cout<<jin<<" ";
/* while(ch1.size()!=4){ch1='0'+ch1;cot++;}
while(ch2.size()!=4){ch2='0'+ch2;cot++;} */
printf("%s %s ",ch1,ch2);
for(int i=3;i>=0;i--){
ans[4-i]+=(ch1[i]-'0')+(ch2[i]-'0');//cout<<ans[i+1]<<" ";
if(ans[4-i]>=jin) {ans[4-i]=ans[4-i]-jin;ans[4-i+1]+=1;}
}
for(int j=5;j>0;j--){
//cout<<ans[j];
if(ans[j]!=0) {answ=j;break;}
}
if(T) printf("%d\n",answ);
else printf("%d",answ);
}
return 0;
}
//!结论 笑脸的ASCII码是 01 赋值给char的对象可以输出,不是'01'哦,直接 01
谢谢