c语言基础-回文数复习

# include<stdio.h>


int main(void)

{

int sum = 0, val, m;

printf("请输入一个随机整数:");

scanf("%d",&val);

m=val;

while (m){

sum= sum*10 + m%10;//(理解举例:m==123,sum==3*10^2 + 2*10^1 +3*10^0)

m/= 10;

}

if (sum == val){

printf("%d是回文数",val);

}else

{

printf("%d不是回文数",val);

}

return 0;

}

时间: 2024-10-13 02:27:28

c语言基础-回文数复习的相关文章

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

C语言之回文数算法

"回文"是指正读反读都能读通的句子.它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这种特征,成为回文数(palindrome number). 设n是一随意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.比如,若n=1234321,则称n为一回文数.但若n=1234567,则n不是回文数. 上代码: #include <stdio.h> #define true 1 #defin

(C语言)回文数的判断

问题描述: 判断一个数是否为回文数: 121: 12321: 1234321: 程序分析: 1. 回文数(palindromic number):是指一个数的最高位和最低位上的数相等,第二高位与次低位上的数相等,也就是关于中间"对称".如上面的三个数情况是一个回文数. 2.将这个数扩展成一个数组,将这个数的各个位上的数取出来并且一一赋给这个数组. 3.判断这个数组中的元素之间的关系是否符合回文数的特征.并且将结果输出.这个程序写了一个函数来实现这一功能. 代码如下: #include&

【C语言】回文数与回文字符串的判断。

任意输入一个数,判断是否为回文数. 方法:将高低位互换之后如果仍然相等,则为回文数. #include <stdio.h> int huiwen(unsigned int value) { unsigned int n = value; unsigned int t = 0; while(n) { t = t*10 + n%10; n = n/10; } return (t == value); } int main () { int a,tmp; printf("please en

无聊试试各牛B语言: 求回文数

环境: CPU :  I5-4200 MEM: 4G OS: 64bit  -- Windows (10)   &  Ubuntu (trusty) C 语言 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 bool ishuiwen(int n) { 6 int sn = 0; 7 sn = n; 8 int tn = 0; 9 while (sn != 0) { 10 tn =

回文数的实现代码

回文数,顾名思义,就是一种数,正序逆向读取完全一致.像12321,4567654就是回文数. 用C语言实现回文数的判断呢,很简单.在这呢,我做简单的介绍. 首先,用判断语句实现.判断语句呢,就是通过循环和简单的运算符,找出该数的逆向读取的数据,于本身进行比较便得到了. 代码如下: #include<stdio.h> void main() { int num; scanf("%d",&num); int min = 0, max = num; while (max

基础练习 特殊回文数

  基础练习 特殊回文数   时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998989989998899 数据规模和约定 1<=n<=54. import java.util.*; public c

蓝桥杯 基础练习 特殊回文数

基础练习 特殊回文数 时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998989989998899 数据规模和约定 1<=n<=54. #include<stdio.h> #include

lqb 基础练习 回文数

基础练习 回文数 时间限制:1.0s   内存限制:512.0MB 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数. 输出格式 按从小到大的顺序输出满足条件的四位十进制数. 分析: 回文数的判断只用判断到数字的中间位数,即可. 取一个数的不同位数的值的方法: 1 while (temp) 2 { 3 A[j ++] = temp % 10; 4 temp /= 10; 5 } C/C++代码实现(AC): 1 #include <iostream