Sssszx @ 2023-09-13 14:52:47
为什么用getline输入字符串就全WA
用cin就AC了
by One_JuRuo @ 2023-09-13 15:07:09
@Sssszx 能发代码吗?猜测可能是读到行末回车了
by Sssszx @ 2023-09-13 15:10:42
@One_JuRuo
#include<bits/stdc++.h>
using namespace std;
string s;
string t;
int x[2222];
int y[2222];
int p[2222];
int main(){
cin>>s>>t;
//getline(cin,s);
//getline(cin,t);
if(s<t) swap(s,t);
for(int i=0;i<s.size();i++) x[s.size()-i]=s[i]-'0';
for(int i=0;i<t.size();i++) y[t.size()-i]=t[i]-'0';
for(int i=1;i<=s.size();i++)
for(int j=1;j<=t.size();j++)
p[i+j-1]+=x[i]*y[j];
for(int i=1;i<=s.size()+t.size();i++){
p[i+1]+=p[i]/10;
p[i]%=10;
}
int len=s.size()+t.size();
while(len>1&&p[len]==0) len--;
for(int i=len;i>=1;i--) cout<<p[i];
return 0;
}
by One_JuRuo @ 2023-09-13 15:14:48
@Sssszx 就是读到行末回车了,你把回车也算进去了。
你可以输出 s[s.size()-1],然后发现只换行,不是最后一位数字
by Let_Fly @ 2023-09-13 15:15:15
@One_JuRuo 应该就是
by One_JuRuo @ 2023-09-13 15:17:04
但是我去试了试,好像又不是。。。大概要数据比较大才会吧。。。【汗
by Let_Fly @ 2023-09-13 15:17:26
@Sssszx 写一个while就行了
by Sssszx @ 2023-09-13 15:19:35
@One_JuRuo 我试着也没啥问题
不影响结果为什么会错。。。晕乎
by Sssszx @ 2023-09-13 15:20:12
@Let_Fly ok我试试 谢谢
by One_JuRuo @ 2023-09-13 15:21:04
@Sssszx 可能是评测机环境不一样,反正比较玄学,getline用的时候还是要少用,除了那种要读空格的,最好还是用cin,或者用字符数组和scanf,或者直接while+getchar。
by Sssszx @ 2023-09-13 15:23:20
@One_JuRuo 搜嘎斯内 多谢提醒
栓q( ̄▽ ̄)ブ