题目描述: 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入描述:
输入在1行中依次给出A和B,中间以1空格分隔。
输出描述:
在1行中依次输出Q和R,中间以1空格分隔。
输入例子:
123456789050987654321 7
输出例子:
17636684150141093474 3
解题思路:这题关键在于第一次商值的判断,如果是大于0则给一个标志位,并输出商的值。否则输出商的值为0;
#include<stdio.h>
#include<string.h>
int main ()
{
char A[1001];
int B,Q=0,R=0,flag=0;
scanf("%s %d",&A,&B);
for(int i=0;i<strlen(A);i++)
{
R=R*10+(A[i]-'0');
Q=R/B;
R%=B;
if(Q>0)
flag=1;
if(flag)
printf("%d",Q);
}
if(flag==0)
printf(" %d",0);
printf(" %d",R);
return 0;
}