问题标题: 酷町堂:2747 回文

0
0
已解决
蒋文瀚
蒋文瀚
新手光能
新手光能
#include<iostream>
using namespace std;
int main(){
    int n;
    string s;
    cin>>n;
    for(int i=1;i<=n;i++){
        bool f=1;
        cin>>s;
        int j=0,k=s.size()-1;
        while(j<k){
            if(s[j]!=s[k]){
                f=0;
                break;
            }
            j++;
            k--;
        }
        if(f==1){
            cout<<"T"<<endl;
        }else{
            cout<<"F"<<endl;
        }
    }

    return 0;
}

找错


0
已采纳
邵悦媛
邵悦媛
新手光能
新手光能

这不是藏老师的课后作业吗?

好吧,我来回答:

1:if解决,有点难,需要字符串反转,如果你有恒心可以去做;

2:字符串课堂知识解决,看回放;

代码核心:

for(int i=1;i<=n;i++)
	{
		getline(cin,a);
        w=a.size();
        b[i]=a[w];
        w--;
        for(int k=1;k<=n;k++){
        if(b[k]!=a[k])
        {
	        r=0;
	        break;
        }
        }
        if(r==1){
        cout<<'T'<<endl;}
        else {
            cout<<'F'<<endl;
        }
        b="";
    }

和@李瑞曦 代码核心差不多;

前面是输入,望采纳

…………

…………

好吧……发全部,

自己剪贴到一起:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string a,b;
    int n,r=1,w;
	cin>>n;
	getline(cin,a);
//刚刚的代码;
return 0;
}

望采纳

邵悦媛在2020-07-11 23:09:48追加了内容

代码2:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    定义 n;
    输入>>n;
    string s,a;
    int j=0;
for(循环遍历){    
    cin>>s;
    for(int i=s.size()-1;i>=0;i--){
        a[i]=s[j];
        j++;
    }
    j=0;
    for(int i=0;i<s.size();i++){
        判断(a[i]!=s[i]){
            cout<<'F'<<endl; 
            continue;
        }
    }
    cout<<'T'<<endl;
}
    return 0; 
}

 

邵悦媛在2020-07-11 23:13:02追加了内容

方法3:

用函数啊

定义一个bool型的J函数

循环判断是不是回文,如果不是return false

函数部分:


 

 

bool J(string x){

 

for(int i=0;i<x.size();i++){

 

if(x[i]!=x[x.size()-1-i]) return false;

 

}

 

return true;

 

}

 

主函数核心:


 

 

for(int i=1;i<=n;i++){

 

getline(cin,s);

 

if(J(s)) cout<<'T'<<endl;

 

else cout<<'F'<<endl;

 

}

 

 

 

A

 

C

 

 

 

 

0
李瑞曦
李瑞曦
高级天翼
高级天翼

我问过了,你可以看看,其实我一开始写的代码就是对的,因为bug,我一直以为我写的是错的,没敢提交,便问了。

0
0
0
王子健
王子健
初级天翼
初级天翼

一道简单的水题,加油吧少年

思路:

既然是字符串,就比数字要简单很多了,直接一个函数,用另一个字符串存储反过来的,如果一样,就return true,不然return false

然后main函数里面直接输入判断加输出就行,主要代码如下:

函数:

主函数:

输入自己写,加油吧少年

0
包涵宇
包涵宇
中级天翼
中级天翼

先在cin>>n;后面加上getline(cin,s);

然后将cin>>s;改为getline(cin,s);

AC愉快!!!

0
我要回答