问题 K: A/B Problem

题目描述

做了A+B Problem,A/B Problem不是什么问题了吧!

输入

每组测试样例一行,首先一个号码A,中间一个或多个空格,然后一个符号( / 或者 % ),然后又是空格,后面又是一个号码B,A可能会很长,B是一个int范围的数。

输出

输出结果。

样例输入

110 / 100
99 % 10
2147483647 / 2147483647
2147483646 % 2147483647

样例输出

1
9
1
2147483646
 1 #include<stdio.h>  
 2 #include<string.h>  
 3 char a[100000];  
 4 int c[100000],d[100000],s[100000];  
 5 int main() {
 6     char ni;  
 7     int b;  
 8     while(scanf("%s %c %d",a,&ni,&b)!=-1) {
 9         memset(c,0,sizeof(c));  
10         memset(s,0,sizeof(s));  
11         int l,k;  
12         l=strlen(a);  
13         int p=0;  
14         for(int i=0; i<l; i++) {
15             c[p++]=a[i]-48;  
16         }  
17         if(ni=='/') {  
18             if(b==0)  
19                 printf("0\n");  
20             else {  
21                 if(a=="0")  
22                     printf("0\n");  
23                 else {  
24     //          if(b==0)  
25     //              printf("0\n");  
26     //          else {  
27                     int j=0;  
28                     int y=0;  
29                     int haha=0;  
30                     for(int i=0; i<l; i++) {  
31                         int sum=c[i]+y*10;  
32                         int x=sum/b;  
33                         y=sum%b;  
34                         if(x||y) {  
35                             haha=-1;  
36                             s[j++]=x;  
37                         }  
38                     }  
39                     if(haha==0) {  
40                         printf("0\n");  
41                     }  
42                     else {
43                         for(int i=0; i<j; i++) {  
44                             printf("%d",s[i]);  
45                         }  
46                         printf("\n");  
47                     }  
48                   // }  
49                 }  
50             }
51         }  
52         if(ni=='%') {  
53             if(b==0)  
54                 printf("%s\n",a);  
55             else {  
56                 int sum=0;  
57                 for(int i=0; i<l; i++) {  
58                     sum=sum*10+(c[i]);  
59                     sum=sum%b;  
60                 }  
61                 printf("%d\n",sum);  
62             }  
63         }
64     }
65     return 0;
66 }  
View Code

 

posted on 2016-08-19 17:02  椿和湫  阅读(135)  评论(0编辑  收藏  举报

导航