hdu 2106 decimal system

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <cmath>
 5 #define maxn 1000
 6 using namespace std;
 7 char str[maxn];
 8 
 9 int change(char *s)
10 {
11     int k=strlen(s);
12     int pos;
13     int sum=0;
14     for(int i=0; i<k; i++)
15     {
16         if(s[i]=='(')
17         {
18            pos=i;
19            break;
20         }
21     }
22     int m;
23     if(s[pos+1]=='1')
24     {
25         m=10;
26     }
27     else
28     m=s[pos+1]-'0';
29     int j=0;
30     for(int i=pos-1; i>=0; i--)
31     {
32         sum+=(s[i]-'0')*pow(m,j);
33         j++;
34     }
35     return sum;
36 }
37 
38 int main()
39 {
40     int n;
41     while(scanf("%d",&n)!=EOF)
42     {
43         int sum1=0;
44         for(int i=0; i<n; i++)
45         {
46             scanf("%s",str);
47             sum1+=change(str);
48         }
49         printf("%d
",sum1);
50     }
51     return 0;
52 }
View Code
原文地址:https://www.cnblogs.com/fanminghui/p/3647637.html