这一题的重点有2个, 一个是将字符转化为int, 其次是将数字串计算为十进制数。下面是实现的代码。
#include<stdio.h>
#include<string.h>
#define N 1000
int main()
{
char a[N]; //存储输入的字符串
int n[N];
int m, i, j, b, form;
long sum;
while(scanf("%d", &m)!=EOF)
{
sum = 0;
while(m--)
{
scanf("%s", a);
for(i=0; a[i] != '('; i++)
n[i] = a[i] - '0'; //将字符型转化为整形
if((a[i+1] == '1') && (a[i+2] == '0'))
{
form = 10;
}
else
form = a[i+1] - '0'; //计算进制
b = n[0];
for(j=1; j<i; j++) //将数字串计算成十进制数
{
b = form*b + n[j];
}
sum += b;
}
printf("%ld\n",sum);
}
return 0;
}