用户:
爵士OIer查看:5 回复:13 评论:5 创建时间:2019-07-27T21:42:21
题目描述
从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。
例如,输入:89 13 又如,输入:16 8
输出: 89 输出: 16
× 13 × 8
267 128
89
1157
输入
每个测试文件只包含一组测试数据,每组输入数据为两个100以内的正整数,之间由一个空格分隔。
输出
对于每组输入数据,输出两个整数进行乘法运算的竖式。为了简单起见,只需从上到下输出竖式里面的数即可,具体格式见样例输出。
样例输入
89
13
样例输出89
13
267
89
1157
我的代码:
#include<bits/stdc++.h>
using namespace std;
int v(int x){
int sum=1;
for(int i=0;i<x;i++){
sum*=10;
}
return sum;
}
int main(){
int a,c[10005],sum=0,k=0;
char b[10005];
cin>>a>>b;
cout<<a<<endl<<b<<endl;
for(int i=strlen(b)-1;i>=0;i--){
cout<<(b[i]-'0')*a<<endl;
k++;
}
if(k>1){
int j=strlen(b)-1;
for(int i=0;i<strlen(b);i++){
sum+=(b[i]-'0')*v(j)*a;
//cout<<"__________________";
//cout<<(b[i]-'0')*v(j)*a<<endl;
j--;
}
cout<<sum;
}
return 0;
}
是哪儿错了,自己测试数据都过了呀
爵士OIer#include<bits/stdc++.h>
using namespace std;
int v(int x){
int sum=1;
for(int i=0;i<x;i++){
sum*=10;
}
return sum;
}
int main(){
int a,c[10005],sum=0,k=0;
char b[10005];
cin>>a>>b;
cout<<a<<endl<<b<<endl;
for(int i=strlen(b)-1;i>=0;i--){
cout<<(b[i]-'0')*a<<endl;
k++;
}
if(k>1){
int j=strlen(b)-1;
for(int i=0;i<strlen(b);i++){
sum+=(b[i]-'0')*v(j)*a;
j--;
}
cout<<sum;
}
return 0;
}
点赞0
评论
爵士OIer#include<bits/stdc++.h>
using namespace std;
int v(int x){
int sum=1;
for(int i=0;i<x;i++){
sum*=10;
}
return sum;
}
int main(){
int a,c[10005],sum=0,k=0;
char b[10005];
cin>>a>>b;
cout<<a<<endl<<b<<endl;
for(int i=strlen(b)-1;i>=0;i--){
cout<<(b[i]-'0')*a<<endl;
k++;
}
if(k>1){
int j=strlen(b)-1;
for(int i=0;i<strlen(b);i++){
sum+=(b[i]-'0')*v(j)*a;
j--;
}
cout<<sum;
}
return 0;
}
点赞0
评论
#include<bits/stdc++.h>
using namespace std;
int v(int x){
int sum=1;
for(int i=0;i<x;i++){
sum*=10;
}
return sum;
}
int main(){
int a,c[10005],sum=0,k=0;
char b[10005];
cin>>a>>b;
cout<<a<<endl<<b<<endl;
for(int i=strlen(b)-1;i>=0;i--){
cout<<(b[i]-'0')*a<<endl;
k++;
}
if(k>1){
int j=strlen(b)-1;
for(int i=0;i<strlen(b);i++){
sum+=(b[i]-'0')*v(j)*a;
//cout<<"__________________";
//cout<<(b[i]-'0')*v(j)*a<<endl;
j--;
}
cout<<sum;
}
return 0;
}点赞0
评论