今天刷算法就困扰了我一个问题,怎么把cin输入char数组的int类型数据(实际还是char类型)又重新取出来。
进制转化的时候,把cin输入存入char数组。然后又一个一个位取出来算十进制的ans。
void nToTen(char num[], int r) {//将各种进制转化为10进制int类型。
//num是这个数,例如{'1','2','3','\0'},r是进制;
int ans = 0;
for (int i = 0;num[i]!='\0'; i++)
{
ans *= r;
if ('0' <= num[i] && num[i] <= '9') {//如果存入的是'1','2'....
ans += num[i] - '0';//转化为int类型。例如'2'->2 '9'->9
}
else//如果存入ABCDEF,转化为10-16.例如'A'->10;
{
ans += num[i] - 'A' + 10;
}
}
cout << ans;
}