编写一个程序,判断一个四位整数是否为回文数,就是顺度与逆读得出的数字一样,用c++语言怎么讲啊

如题所述

第1个回答  2008-03-10
1、这个程序的效率高
#include <iostream>
#include <vector>
#include <string>

using namespace std;

bool substring_is_huiwen(string s,int start,int end) //判断的具体实现函数
{
if (start >= end) //一个字符与空字符的特殊情况
return true;
if (s[start] == s[end])
return substring_is_huiwen(s,start + 1,end - 1);
else
return false;
}

bool is_huiwen(string s) // 这不是一个递归函数,而是一个递归辅助函数
{
return substring_is_huiwen(s,0,s.length() - 1); //嵌套调用bool substring_is_huiwen(string s,int start,int end)函数
}

int main()
{
cout << "Enter string :";
string input;
getline(cin,input);
cout << input << " is ";
if (! is_huiwen(input)) //这里调用bool is_huiwen(string s)函数
cout << "not ";
cout << "a huiwen\n";
return 0;
}

2、这个程序超级简单
int main()
{
int m, i,j = 0;
scanf("%d",&m);
i = m;
while(m > 0){
j = j * 10 + m % 10;
m /= 10;
}
if(i == j)printf("Is");
else printf("NO");
return 0;
};
第2个回答  2008-03-10
既然你已经说了是4位的,那么就用超级简单、固定、死板、弱智的方法实现一个:
#include <iostream>

using namespace std;

int main()
{
int hw;

cin >> hw;

if (hw/1000 == hw%10 && hw%1000/100 == hw/10%10)
cout << "is_hw" << endl;
else
cout << "isnot_hw" << endl;
}
第3个回答  2008-03-10
#include <stdio.h>
main()
{
int i;
printf("请输入要查询的整数");
scanf("%d",i);
if(i\000==i%1000%100%10&&i%1000\100==i%1000%100\10)
printf("yes");
else
printf("No");
}
这样编最简单,因为你只说明是四位整数。本回答被提问者采纳
相似回答