给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
A/B Problem
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
做了A+B Problem,A/B Problem不是什么问题了吧!
输入
每组测试样例一行,首先一个号码A,中间一个或多个空格,然后一个符号( / 或者 % ),然后又是空格,后面又是一个号码B,A可能会很长,B是一个int范围的数。
输出
输出结果。
样例输入
110 / 100
99 % 10
2147483647 / 2147483647
2147483646 % 2147483647
样例输出
1
9
1
2147483646
上传者
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000];
int b;
char flag;
int t,len,i,j,k;
while(scanf("%s %c %d",a,&flag,&b)!=EOF)
{
if(flag=='/') t=0;
else t=1;
len=strlen(a);
k=0;
j=0;//j标记a数组是否为0
for(i=0;i<len;i++)//把每一位的数字拆开计算
{
k=k*10+(a[i]-'0');//模拟除法过程
if(k/b||j)
{
if(!t) printf("%d",k/b);//如果是计算余数
if(k/b) k%=b;//取得余数 和自己在纸上算除法的过程一模一样
j=1;
}
}
if(j==0&&!t) printf("0");
else if(t) printf("%d",k);
printf("\n");
}
return 0;
}