是否回文数
是否回文數
Time Limit: 1 Sec??Memory Limit: 128 MB?? 64bit IO Format: %lld
?
Description
編寫程序判斷輸入正整數n是否回文數(回文數就是一個正整數從左到右和從右到左的值相等,例如121,145541)。
?
Input
包含多組測試數據,每組測試數據占一行,每行1個正整數。
?
Output
每組測試數據輸出占一行,如果是回文數則輸出YES,否則輸出NO。
?
Sample Input
121
?
Sample Output
YES
題目分析:水題,但是可以找到很好的方法。
方法一:用 f 標志是否為回文數,是則 f=0 ,不是則 f=1
用字符串存儲該數,設置兩個指針 i 和 j ,一個從前往后一個從后往前判斷。
#include<stdio.h>
#include<string.h>
int main()
{int i,j,l,f;char a[10000];while(gets(a)!=NULL){//getchar();f=0;l=strlen(a);i=0;j=l-1;while(i<l && j>=0){if(a[i]==a[j]){i++;j--;}else{f=1;break;}}if(f==0)printf("YES\n");elseprintf("NO\n");}return 0;
}
方法二:
只需要判斷一半即可,代碼如下:
#include<stdio.h>
#include<string.h>
int main()
{int i,j,l;char a[10000];while(gets(a)!=NULL){//getchar();l=strlen(a);i=0;j=l-1;while(i<j){if(a[i]!=a[j])break;i++;j--;}if(i<j)printf("NO\n");elseprintf("YES\n");}return 0;
}
?
總結
- 上一篇: 橘子多少钱一斤啊?
- 下一篇: 改水电一般多少钱啊?