我希望有人帮我纠正这个程序中的错误。
#include<iostream.h>
#include<conio.h>
void main();
{int r,n,Rev=0,temp;
cin>>n;
temp=n;
while(n>0)
Rev=Rev*10+n%10;
n=n/10;
if(temp==Rev)
cout<<"test is positive";
else
cout<<"test is negative";
getch();
}
Rev
表示我们在反转数字时获得的数字。在正面测试的情况下,它变成了一个回文,否则它不会。Temp
是临时变量
答案 0 :(得分:1)
此行位于while
:
n/n10;
所以 n 永远不会&lt; 0
#include<iostream.h>
#include<conio.h>
void main();
{
int r,n,Rev=0,temp;
cin>>n;
temp=n;
while(n>0){
Rev=Rev*10+n%10;
n=n/10;
}
if(temp==Rev)
cout<<"test is positive";
else
cout<<"test is negative";
getch();
}
答案 1 :(得分:0)
#include<iostream>
using namespace std;
int main()
{
int num,rev,pal;
cout<<"Enter number ";cin>>num;
pal=num;
for( ;num!=0; )
{
rev=(0*10)+num%10;
num/=10;
}
if(pal==rev)
cout<<"number id palindrome";
else
cout<<"Number is not palindrome";