#K4002. C4.02 高精度(二)
C4.02 高精度(二)
一、程序阅读。
#include<bits/stdc++.h>
using namespace std;
string a,b;
int c[102],d[102],s[204],o[204];
int main() {
cin>>a>>b;
for(int i=a.size()-1,k=1; i>=0; i--,k++) {
c[k]=a[i]-'0';
}
for(int i=b.size()-1,k=1; i>=0; i--,k++) {
d[k]=b[i]-'0';
}
for(int i=1; i<=a.size(); i++) {
for(int j=1; j<=b.size(); j++) {
s[i+j-1]=s[i+j-1]+c[i]*d[j];
}
}
for(int i=1; i<=a.size()+b.size()-1; i++) {
if(s[i]>=10) {
s[i+1]=s[i+1]+s[i]/10;
s[i]=s[i]%10;
}
}
int l=a.size()+b.size();
while(s[l]==0&&l>1) {
l--;
}
for(int i=l; i>=1; i--) {
cout<<s[i];
}
return 0;
}
判断题
- 程序可以输入任意字符?( ) {{ select(1) }}
- 对
- 错
- 第9行的代码c[k]=a[i]-'0',可以改成c[k]=a[i]-48?( ) {{ select(2) }}
- 对
- 错
- 第22行表示两个数相加结果长度一定等于最大长度a.size()+b.size()-1?( ) {{ select(3) }}
- 对
- 错
- 第4行代码放在第5行下面程序结果不会出现任何问题?( ) {{ select(4) }}
- 对
- 错
选择题
- 程序中输入100 10 10 10,最后程序中结果等于多少?( ) {{ select(5) }}
- 1000
- 100
- 10000
- 100000
二、程序填空
题目描述
输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。
输入格式
一个大于0的大整数,长度不超过100位。
输出格式
两行,分别为整数除法得到的商和余数。
2132104848488485
164008065268345
0
#include<bits/stdc++.h>
#include<string>
using namespace std;
string a;
int b=13;
int s=0;
int j[102],k[102];
int main() {
cin>>a;
for(int i=0; i<a.size(); i++) {
k[i]=a[i]-'0';
}
for(int i=0; i<a.size(); i++) {
s=s*10+k[i];
___①___
___②___
}
int l=___③___;
while(___④___) {
l++;
}
for(; l<a.size(); l++) {
cout<<j[l];
}
cout<<endl;
cout<<___⑤___;
return 0;
}
- 第①处应该填写。( ) {{ select(6) }}
- j[i]=s/13;
- a[i]=s/13;
- j[i-1]=k[i]/13;
- j[i]=s%13;
- 第②处应该填写。( ) {{ select(7) }}
- s=s%13;
- s=s/13;
- s=k[i]%13;
- s=k[i]/13;
- 第③处应该填写。( ) {{ select(8) }}
- 0
- 1
- 3
- 4
- 第④处应该填写。( ) {{ select(9) }}
- j[l]==0&&l<a.size()-1
- j[l]==0&&l<a.size()
- j[l-1]==0&&l<a.size()-1
- j[l-1]==0&&l<a.size()
- 第⑤处应该填写。( ) {{ select(10) }}
- s
- a
- b
- s/10
相关
在以下作业中: