概述
1.题目描述:
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
2.输入描述:
输入在1行中依次给出A和B,中间以1空格分隔。
3.输出描述:
在1行中依次输出Q和R,中间以1空格分隔。
4.输入例子:
123456789050987654321 7
5.输出例子:
17636684150141093474 3
6.解题思路:
1. 定义字符串数组接收一个小于1000位的正整数;
2. 遍历输入的字符串,分为四种情况进行求商求余:(一)A只有一位数,且该数<B,商为0,余为A
(二)A只有一位数,且该数>=B
(三)A为多位数,且遍历到的第i位数>=B,求A[i]的商和余,商值保存到数组Q中,余值赋值给A[i],遍历位置不继续递增,即i++,i–,遍历位置不动;
(四)A为多位数,且遍历到的第i位数<B,求A[i]和A[i+1]组成两位数的商和余,商值保存到数组Q中,余值赋值给A[i],遍历位置正常递增i++;
3.输出字符串数组Q和余数R。
7.源代码:
#include<stdio.h>
#define N 1001
int main()
{
int i,j,B,R,num;
char A[N]="