题解:P12681 【MX-J15-T1】叉叉学习数据类型
P12681 【MX-J15-T1】叉叉学习数据类型题解
思路
主要问题就在于
代码
#include <bits/stdc++.h>
using namespace std;
__int128 a;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
string s;
cin>>s;
for (int i=0;i<s.size();i++){//从最高位开始依次转换
if (s[i]!='-'){
a*=10;
a+=s[i]-48;//数字的ascii码从48开始
}
}
if(s[0]=='-'){//负数
a=-a;
}
if(a>=-2147483648&&a<=2147483647){//int的数据范围
cout<<"int\n";
}
if(a>=0&&a<=4294967295){//unsigned int的数据范围
cout<<"unsigned int\n";
}
if(a>=-9223372036854775808&&a<=9223372036854775807){//long long的数据范围
cout<<"long long\n";
}
if(a>=0&&a<=18446744073709551615){//unsigned long long的数据范围
cout<<"unsigned long long\n";
}
cout<<"string";
return 0;
}