当前位置: 代码迷 >> 综合 >> PAT (Basic Level) Practice (中文)1017 A除以B (20分)(C语言版)
  详细解决方案

PAT (Basic Level) Practice (中文)1017 A除以B (20分)(C语言版)

热度:93   发布时间:2023-12-01 22:28:18.0

1017 A除以B (20分)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入格式:

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出格式:

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

代码:

#include<stdio.h>int main(void)
{char a[1002];int b;int q = 0;int i = 0;scanf("%s %d", a, &b);if(a[0] - '0' < b && a[1] == '\0')  printf("0");while(a[i] != '\0'){q = q * 10 + a[i] - '0';if(i || q >= b)	printf("%d", q / b);q %= b;i++;}printf(" %d\n", q);return 0;
}

 

  相关解决方案