如何解决(C++) 使用函数的回文数
#include <iostream>
using namespace std;
bool pals(int n) {
int remainder;
int reverse=0;
while(n>0){
remainder=n%10;
reverse=reverse*10+remainder;
n=n/10;
}
return reverse;
}
int main() {
int nums;
cout<<"Input Desired Number: ";
cin >>nums;
if(pals(nums)) {
cout <<nums<<" palindrome";
}
else {
cout <<nums<<" not a palindrome";
}
return 0;
}
如果不是,则继续返回“回文”。
我的代码中是否有遗漏或错误。
任何用于将来参考的提示或指示也很好。谢谢!
任何反馈都很棒!谢谢!
解决方法
您的问题是因为您要从函数返回一个数字并将其转换为布尔值,因此每个数字都会被截断为 True 值。
您应该在函数内部检查它是否是回文并返回 1/0 结果,甚至更好的布尔值。
可以在以下链接中找到对所描述行为的全面解释:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。