根据提示,我们可以按照指定的步骤模拟运算即可,唯一需要注意的是对于16进制的处理,这里把相应的A~F全部化为10+‘0’,11+‘0’。。。。等形式(不会影响运算的正确性)。
代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
const int maxn = 100 ;
char numa[maxn] ;
int numb[maxn] ;
int n ;
int m ;
bool Is_Par();
void work() ;
void cacu() ;
int main()
{
work() ;
return 0 ;
}
void work()
{
scanf("%d\n%s" , &n , numa) ;
if(n==16)
{
for(int i = 0 ; i < strlen(numa) ; i ++)
{
if(numa[i]=='A'||numa[i]=='B'||numa[i]=='C'||numa[i]=='D'||numa[i]=='E'||numa[i]=='F')
{
numa[i] = numa[i] - 'A' + 10 + '0' ;
}
}
}
m &#