PTA | 程序设计类实验辅助教学平台 (pintia.cn)
用字符串读取,然后先求第一位的商和余数,求出来的商和余数做一个合法性判断,如何合法就用商*10再加上下一位继续求商和余数。
合法性判断
首先要保证至少输入一个数字,或者一个数字往上,这样才能计算。
其次还要判断商是否为0,商为0的情况就是除数比被除数大,比如3/4,那么就不能满足题目要求的 ,属于非法情况。
二刷
#include<iostream>
using namespace std;
int main()
{
string A;int B;cin>>A>>B;
int Q,R;
//先求第一位余数和商
Q=(A[0]-'0')/B;
R=(A[0]-'0')%B;
if(A.size()==1||(A.size()>1&&Q!=0))
cout<<Q;
//求其他位的商和余数
for(int i=1;i<A.size();i++)
{
//下一个余数
Q=(R*10+A[i]-'0')/B; cout<<Q;
//下一个商
R=(R*10+A[i]-'0')%B;
}
cout<<" "<<R;
return 0;
}