今天培訓的老師讓我們做的題目。。。
我寫了幾個(不多說了比較累直接上代碼了):
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
void Numtostring(int num,char s[]) //自定義數字轉換成字符串函數


{
int temp,i=0;
// char *s;
// s=(char *)malloc(500);
//char s[500];
while(num!=0)

{
temp=num%10;
s[i]=temp+48;
i++;
num=num/10;
}
s[i]='\0';
strrev(s);
}
int NumberTest0(int num) //數字逆序,返回逆序值


{
int temp;
int n,i;
int num0=0;
n=log10(num);
printf("n=%d\n",n);
for(i=n;i>=0;i--)

{
temp=num%10;
num=num/10;
num0+=temp*pow(10,i);
printf("num0=%d\n",num0);
}
return num0;
}
int StringTest(int num)//回文判斷,字符串逆轉思路


{
char s[500],s1[500];
Numtostring(num,s);//數字轉換成字符串函數
puts(s);
strcpy(s1,s);
strrev(s1);
if(strcmp(s1,s)==0)
printf("Yes\n");
else
printf("No\n");
return 0;
}

int NumberTest1(int n)//回文判斷 老師解題思路 聽說是大神級的人物寫的。。。


{
int temp=0;
int m=n;
while(n)

{
temp=temp*10;
temp+=n%10;
n=n/10;
}
printf("%d\n",temp);
if(temp==m)
printf("Yes\n");
else
printf("No\n");
return 0;
}
int main()


{

int num,num0;
// long n;
char s[500];
while(scanf("%d",&num)!=EOF)

{

/**//*num0=Test(num);
printf("%d\n",num0);
if(num0==num)
printf("Yes\n");
else
printf("No\n");*/
// Numtostring(num,s);
// puts(s);
// StringTest(num);
NumberTest1(num);
}
return 0;
}


posted on 2010-10-29 19:57
jince 閱讀(639)
評論(0) 編輯 收藏 引用 所屬分類:
C++學習