C 练习实例30 - 回文数
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:学会分解出每一位数。
程序源代码:
实例
// Created by www.runoob.com on 15/11/9.
// Copyright (c) 2015年 素材8网教程. All rights reserved.
//
#include <stdio.h>
int main( )
{
long ge,shi,qian,wan,x;
printf("请输入 5 位数字:");
scanf("%ld",&x);
wan=x/10000; /*分解出万位*/
qian=x%10000/1000; /*分解出千位*/
shi=x%100/10; /*分解出十位*/
ge=x%10; /*分解出个位*/
if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/
printf("这是回文数\n");
} else {
printf("这不是回文数\n");
}
}
以上实例输出结果为:
请输入 5 位数字:12321 这是回文数 请输入 5 位数字:12345 这不是回文数
C 语言经典100例
叮咚
1269359648@qq.com
其他参考解法:
#include <stdio.h> int main() { int n; printf("请输入 5 位数字:"); scanf("%d",&n); int x[1000]; int i=0; while(n!=0) { x[i]=n%10; n=n/10; i++; } int z=i; int flag=1; for(i=0;i<z;i++) { if(x[i]!=x[z-1-i]){ flag= 0; printf("这不是回文数\n"); break; } } if(flag==1) { printf("这是回文数\n"); } }叮咚
1269359648@qq.com
火云
1031798583@qq.com
利用字符串实现的方法:
#include <stdio.h> #include<string.h> int main() { char str[5]; printf("请输入五位数:"); scanf("%s",str); if(str[0]==str[4]&&str[1]==str[3]) printf("这是一个回文数。\n"); else printf("这不是回文数。\n"); return 0; }火云
1031798583@qq.com