- 西游记之八戒寻翠兰
题目ID:9266
https://www.xinyoudui.com/ac/contest/74500536700060303BCDD76/problem/6856
看了题解还是不会[大哭]
我来
不要发链接,没权限,看不了
你的代码是什么?
把代码发出来,我来改(不要跟我抢吖)!!!
回文字符串
#include<bits/stdc++.h>
using namespace std;
int main(){
bool flag=0;
char a[101];
cin>>a;
char b[101];
for(int i=1;i<=50;i++){
b[i]=a[i];
swap(b[100-i],b[i]);
}
for(int i=1;i<=101;i++){
if(a[i]!=b[i])flag++;
}
if(flag==0)cout<<“yes”;
else cout<<“no”;
}
八戒的
#include<bits/stdc++.h>
using namespace std;
int a[101];
int main(){
int n;
bool flag=0;
cin>>n;
for(int i=0;i<=n-1;i++){
cin>>a[i];
}
for(int i=0;i<=n-1;i++){
int sum=i*11+a[i]+1;
for(int j=2;j<=n-1;j++){
if(sum/j==0)flag++;
}
if(flag==0)cout<<a[i]<<" ";
flag=0;
}
if(flag>0)cout<<“No”;
}
建议格式化一下
而且有一个致命的问题:要是字符串不足100位怎么办
格式化一下
#include <bits/stdc++.h>
using namespace std;
int a[101];
int main()
{
int n;
bool flag = 0;
cin >> n;
for (int i = 0; i <= n - 1; i++)
{
cin >> a[i];
}
for (int i = 0; i <= n - 1; i++)
{
int sum = i * 11 + a[i] + 1;
for (int j = 2; j <= n - 1; j++)
{
if (sum / j == 0)
flag++;
}
if (flag == 0)
cout << a[i] << " ";
flag = 0;
}
if (flag > 0)
cout <<"No";
}
你的代码帮你格式化好了,我来改
#include<bits/stdc++.h>
using namespace std;
int main(){
bool flag=0;
char a[101];
cin>>a;
char b[101];
for(int i=1;i<=50;i++){
b[i]=a[i];
swap(b[100-i],b[i]);
}
for(int i=1;i<=101;i++){
if(a[i]!=b[i])flag++;
}
if(flag==0)cout<<"yes";
else cout<<"no";
}
我来改回文串
致命问题:如果a的长度不足100怎么办
所以这个应该改成for(int i=1;i<=a.size()/2;i++)
或for(int i=1;i<=a.length()/2;i++)
同理,这个你自己改一下
不是你这错的肥肠离谱
谢谢
o?
样例发一下,我测测