猫史档案馆


【求助】这是要用高精度算法吗,怎么只有80%的数据是对的呀

用户:爵士OIer爵士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;
}

是哪儿错了,自己测试数据都过了呀


回复

上一页1 页 / 共 1下一页
爵士OIer爵士OIer

有人吗怎么做啊

点赞0


评论


爵士OIer爵士OIer

倒是看一下啊

点赞0


评论


阴阳怪气祖安收集账号阴阳怪气祖安收集账号

你代码习惯不太好,看得眼花了,缩进都没有的嘛?

点赞0


评论


爵士OIer爵士OIer

不行,这里空格的字体不对,复制过去是问好

点赞0


评论


爵士OIer爵士OIer

问号

点赞0


评论


爵士OIer爵士OIer

缩颈bu'liao

点赞0


评论


爵士OIer爵士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爵士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爵士OIer

我知道了

比如18*10,要输出

18

10

00

18

180

我只输了一个令

点赞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


评论


uFay_uFay_

熟悉的题目格式……

是什么什么一本通吗

点赞0


评论


爵士OIer爵士OIer

欸,懂了

点赞0


评论


P几几几几啊?

点赞0


评论