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>
#include<string.h>
int main(){
char str[1002];
int res[1002];
int b,temp=0,num,m=0,r,s;
scanf("%s %d",str,&b);
int len=strlen(str);
for(int i=0;i<len;i++){
num=str[i]-'0';
temp=temp+num;
if(i==len-1){
r=(temp)%b;
}
s=(temp)/b;
if(s){
res[m]=s;
m++;
}else{
if(i!=0){
res[m]=0;
m++;
}
}
temp=(temp%b)*10;
}
for(int p=0;p<m;p++){
printf("%d",res[p]);
}
printf(" %d",r);
return 0;
}
只得了18分,有一道测试不过,气死爷了