language: C (gcc-4.3.4)
date: 109 days 16 hours ago
link:
可見度: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# define max 1000
char arr[max];
void subtract(char *a1,char *b1)
{
      int l1,l2;
        char temp[max],a[max],b[max];
        int c=0,sub=0,m=0;
        int i,j,k=0;
 
for(i=strlen(a1)-1;i>=0;i--)
        a[k++]=a1[i];
 
 a[k]='\0';k=0;
for(i=strlen(b1)-1;i>=0;i--)
        b[k++]=b1[i];
b[k]='\0';      
 
printf("%s %s\n",a,b);
        l1=strlen(a);
        l2=strlen(b);
        if(l2>l1)
        {
                strcpy(temp,b);
                strcpy(b,a);
                strcpy(a,temp);
        }
        l1=strlen(a);
        l2=strlen(b);
                k=0;
        for(i=0;i<l2;i++)
        {
                int n1=a[i]-'0';
                int n2=b[i]-'0';
                sub=n1-n2-c;
                if(sub<0)
                {
                        sub=10-sub;c=1;
                        arr[k++]=sub+'0';
                        
                }
                else {c=0;arr[k++]=sub+'0';}
         }
        
        for(i=l2;i<l1;i++)
        {
                int n1=a[i]-'0';
                sub=n1-c;
                if(sub<0)
                {
                        sub=10-sub;c=1;
                        arr[k++]=sub+'0';
                }
                else {c=0;arr[k++]=sub+'0';}
        }
        arr[k]='\0';
 
printf("arr=%s\n",arr);
 
for(i=strlen(arr)-1;i>=0;i--)
        printf("%c",arr[i]);
 
return arr;
}
            
 
int main()
{
 char a[max],b[max],c[max];
        scanf("%s %s",a,b);
subtract(a,b);
return 0;
}