PAT乙级1079测试点2/3/4提示答案错误,有哪些情况未考虑到?
 // 1079 延迟的回文数 v1
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string reverse(string str){
    string rev;
    rev=str;
    for(int i=0;i<str.length();i++)
        rev[i] = str[str.length()-1-i];
    return rev;
}

int IsPal(string str){
    int flag=1;
    for(int i=0;i<str.length()/2;i++){
        if(str[i]!=str[str.length()-i-1]){
            flag=0;
            break;
        }
    }
    return flag;
}

string Pal(string str1,string str2){
//  string pal="  ";
    string pal;
    pal=str1;   //vital;
    int c=0;
    for(int i=0;i<str1.length();i++){   
        c=c+str1[i]-'0'+str2[i]-'0';
        pal[i]=c%10+'0';
//      cout<<pal[i];
        c/=10;
    }
    if(c)   pal+=c+'0';
    reverse(pal.begin() ,pal.end() );
    return pal;
}

int main(){
    string str,rev="",pal="";   cin>>str;   //input is char type
    int cnt=0;
    rev=reverse(str);
//  cout<<rev<<endl;
    pal=Pal(str,rev);
//  cout<<pal<<endl;
//  cout<<IsPal(pal);
    while(cnt<10){
        rev=reverse(str);
        pal=Pal(str,rev);
        if(IsPal(pal)){ //pal
            cout<<str<<" + "<<rev<<" = "<<pal<<endl;
            cout<<pal<<" is a palindromic number.";
            break;
        }
        else{
            cout<<str<<" + "<<rev<<" = "<<pal<<endl;
        }
        str=pal;
        cnt++;
    }
    if(cnt==10) cout<<"Not found in 10 iterations.";
    return 0;
} 
-2

1个回答

如果一开始输入就为回文,直接输出,你可以修改一下判断顺序,或者直接先判断一次

 #include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string reverse(string str) {
    string rev;
    rev = str;
    for (int i = 0; i < str.length(); i++)
        rev[i] = str[str.length() - 1 - i];
    return rev;
}

int IsPal(string str) {
    int flag = 1;
    for (int i = 0; i < str.length() / 2; i++) {
        if (str[i] != str[str.length() - i - 1]) {
            flag = 0;
            break;
        }
    }
    return flag;
}

string Pal(string str1, string str2) {
    //  string pal="  ";
    string pal;
    pal = str1;   //vital;
    int c = 0;
    for (int i = 0; i < str1.length(); i++) {
        c = c + str1[i] - '0' + str2[i] - '0';
        pal[i] = c % 10 + '0';
        //      cout<<pal[i];
        c /= 10;
    }
    if (c)   pal += c + '0';
    reverse(pal.begin(), pal.end());
    return pal;
}

int main() {
    string str, rev = "", pal = "";   
    cin >> str;   //input is char type
    int cnt = 0;
    if (IsPal(str)) { //pal
        cout << str << " is a palindromic number.";     
    }
    else {
        rev = reverse(str);
        //  cout<<rev<<endl;
        pal = Pal(str, rev);
        //  cout<<pal<<endl;
        //  cout<<IsPal(pal);
        while (cnt < 10) {
            rev = reverse(str);
            pal = Pal(str, rev);
            if (IsPal(pal)) { //pal
                cout << str << " + " << rev << " = " << pal << endl;
                cout << pal << " is a palindromic number.";
                break;
            }
            else {
                cout << str << " + " << rev << " = " << pal << endl;
            }
            str = pal;
            cnt++;
        }
        if (cnt == 10) cout << "Not found in 10 iterations.";
    }
    return 0;
}
-3
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PAT(乙级)题解
完整代码题解,C++语言,详细说明,
PAT 乙级 1086
刚刚参加完18年9月8号的PAT乙级考试,做题的时候可能有点紧张,想不到用什么办法来做,下考成后才想明白。现在发现代码。
pat全套答案
pat编程考试真题答案,对于对算法感兴趣的,可以对照真题认真学习编程,提高个人的算法能力
浙江大学pat题目集合(1001-1091)
浙江大学的程序能力测试(pat)上所有advanced级别的题目集合的更新版本,从1001到最新的1091全部都有。纯手工制作,花了不少时间调整了格式以方便阅读,欢迎大家下载,平时放在pad或者手机上可以回顾回顾,思考思考。 当时我就是用它充实我闲余时间,作用显著,喜欢的童鞋不要错过!
软件测试功能测试点
软件测试 初学者可参考。该资源主要是给初入职场的软件测试者,提供几点功能测试的主要点。
PAT乙级1001----1085全解C语言,
PAT乙级现有的所有题解,C语言,除了两个需要用map的1080和1085有个测试点超时,基本通过,思路上可以借鉴,不一定最好,
浙江大学在线pat题库集合
浙江大学在线pat题库集合
PAT乙级试题代码
这是由浙江大学组织的PAT考试中的乙级考试的训练集的所有代码。。。
浙大pat题目合集(1001-1151)
更新啦!更新啦!更新啦!最新版的浙江大学的程序能力测试(pat)上所有advanced级别的题目集合的更新版本,从1001到最新的1151全部都有。纯手工制作,花了不少时间调整了格式以方便阅读,同时增加了一份目录,欢迎大家下载,平时放在pad或者手机上可以回顾回顾,思考思考。 当时我就是用它充实我闲余时间,作用显著,喜欢的童鞋不要错过!
浙江大学PAT乙级考试1-70题参考答案
计算机程序设计能力考试(Programming Ability Test,简称PAT) 旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力, 科学的评价计算机程序设计人才, 为企业选拔人才提供参考标准。
浙大PAT全套答案_1001至1049.
浙大PAT全套答案_1001至1049.
软件测试通用测试点总结
1、 界面测试通用测试点 2、 页面元素通用测试点 3、 相关功能通用测试点 4、 安全性测试测试点 5、 其他测试 6、 代码测试测试点
PAT甲级(1001-1115)题库
这是PAT甲级第1001到1115的所有原题,只有题目没有答案。
PAT练习题1084-1087
测试全过,写的效率不是很高,代码有点乱,欢迎交流
1003 我要通过! (20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送
实现pat程序得到“答案正确”的条件是: 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。 现在就请你为 PAT 写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。
PAT考试用书pdf:算法笔记+上机指南
PAT考试权威宝典,这是一本零基础就能读懂的算法书籍,读者不需要任何语言基础。书籍的第2章便是一个C语言的入门教程,内容非常易懂。《算法笔记》有详细书签并且高清,上机指南没书签但高清!
PAT甲级刷题参考代码(柳婼)
在柳婼博客上买的pdf版的资料,甲级题目的代码都在上面
算法笔记(全两本)浙大pat考试和ccf的csp认证考试
算法笔记(全两本)浙大pat考试和ccf的csp认证考试。 不坑人,完整的两本书,应付浙大pat考试和ccf的csp认证考试,考研复试上机等,今年buaa的考研复试机试一百分,满分的都是靠csp置换的 算法笔记
我的PAT乙级练习题1002代码
我的PAT乙级练习题1002代码记录,题目地址:https://www.patest.cn/contests/pat-b-practise/1002
vb程序提示未知错误
当运行vb 提示未知错误关闭,提出了解决方法,让编译顺利进行。
ZJU PAT Basic Level 乙级1001-1025 代码
浙江大学PAT OJ(pat.zju.edu.cn)乙级(中文)1001-1025 题目AC代码。 本人纯手打,原创。
(转)C++_对象的内存布局
1)有成员变量的情况。 2)有重复继承的情况。 3)有虚拟继承的情况。 4)有钻石型虚拟继承的情况。
PAT乙级题目的41个代码
PAT乙级的题目的AC代码,从乙1002到乙1048
一款找房子的app
一款找房子的app,根据区域 地铁 定位等方式找房子!可以买房子 卖房子 租房子!
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/  for(j=1;j<5;j++)    for (k=1;k<5;k++)    {     if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/     printf("%d,%d,%d\n",i,j,k);    } }
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
pat basic advance ac代码
pat甲级和乙级题目ac代码,也有参考别人题解后ac的代码。basic80,advance139道。
算法笔记高清_胡凡曾磊pdf
算法笔记,适合初学者参加研究生计算机上机复试,以及PAT甲级乙级考试
我的PAT乙级练习题1001代码
我的PAT乙级练习题1001代码记录,题目地址:https://www.patest.cn/contests/pat-b-practise/1001
求解1!+2!+......+99!+100!
利用大数求解1!+2!+......+99!+100!
BS程序通用测试点参考资料
BS程序通用测试点 1.界面测试通用测试点 2、页面元素通用测试点 3、相关功能通用测试点
PAT乙级真题-1001.害死人不偿命
C语言编写-PAT乙级真题-1001.害死人不偿命-自己的思路,代码不是很规范,仅供参考
pat 编程基础题集
原浙大pat网站题集 先在整体下载,作为chm,方便大家学习
PAT乙级源代码
都是通过了的代码,C语言版
java有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
java有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
c程序100例 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
c程序100例 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
有两个矩阵a和b,均为2行3列。
c++程序有两个矩阵a和b,均为2行3列。 * 求两个矩阵之和。
pta乙级题目答案
答案算法可能不太好,但结果应该没问题,乙级95题答案,答案用c++编写
KMPlayer播放器常见疑难问题
KMPlayer是现在非常流行的播放软件,但KMPlayer的设置不是很人性化,许多网友在使用过程中遇到了这样或那样
二维码测试
二维码测试,用于访客登记系统,用于对用户身份的验证
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习笔记有答案吗 人工智能教程第2版答案