A/B Problem
时间限制:1000 ms | 内存限制:65535 KB
难度:3
输入
每组测试样例一行,首先一个号码A,中间一个或多个空格,然后一个符号( / 或者 % ),然后又是空格,后面又是一个号码B,A可能会很长,B是一个int范围的数。
输出
输出结果。
样例输入
110 / 100 99 % 10 2147483647 / 2147483647 2147483646 % 2147483647
样例输出
1 9 1 2147483646
描述
做了A+B Problem,A/B Problem不是什么问题了吧!
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000],b;
int c,lena,i,k,t,yu,count,flag;
while(scanf("%s %c %d",a,&b,&c)!=EOF)
{
k=0;yu=0;t=0;count=0;flag=0;
lena=strlen(a);
if(b=='/')
{
for(i=0;i<lena;i++)
{
k=(a[i]-'0')+yu*10;//从个位除,除不尽 从十位除 依次递推下去
t=k/c;
yu=k%c;
if(t||t==0&&flag)
{
printf("%d",t);
}
if(t)
flag=1;
if(!t)
{
count++;
}
if(count==lena)
printf("0\n");
}
printf("\n");
}
if(b=='%')
{
for(i=0;i<lena;i++)
{
k=(a[i]-'0')+yu*10;
t=k/c;
yu=k%c;
}
printf("%d\n",yu);
}
}
return 0;
}