回文数-不能用字符串

随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254)。不能用字符串库函数

 1 bool Symmetry(int input)
 2 {
 3     int number = input;
 4     int reverse = 0;
 5     while (number)
 6     {
 7         reverse = reverse*10 + number%10;
 8         number = number/10;
 9     }
10     return reverse == input;
11 }
时间: 2024-12-29 11:31:44

回文数-不能用字符串的相关文章

回文数扩展--长字符串版

//回文数扩展 长字符串版 #include<iostream> #include<string> using namespace std; int main() { string str,s; cin>>str; int n=str.size(); for(int i=n-1;i>=0;i--) { s.push_back(str[i]); } if(str==s) { cout<<"是回文"<<endl; } els

判断一个数是否为回文数,字符串是否为回文字符串

使用C语言编写程序 判断一个数是否为回文数.(ps:回文数也是一个数字,数字的特点是正反序是同一个数字,如12321,3443就是回文数). 要判断该数字是否为回文数,可以通过模除得到该数的反序数字,进行比较是否相等来判读. 具体实现如下: void Practice() { int num, value, flag, var; value = 0; flag = 1; scanf("%d", &num); var = num; while(num) {//value存储num

判断一个字符串是否为回文数字符串

#include<stdio.h> #define STRLEN 100 int Is_palindromic_str(char *str) { int left = 0;//字符串数组的第一个字母的下标 int i = 0; while(str[i] != '\0') { i++; } int right = i - 1;//字符串数组最后一个字母(非'\0')的下标 while(left <= right) { if(str[left] == str[right])//判断左右字符是

判断输入的字符串是否是回文数

<?phpfunction yuanyincount($str){ $str_len=strlen($str); $a_count=0; $e_count=0; $i_count=0; $o_count=0; $u_count=0; $other_count=0; //五种原因字母的数组,没写输出 $a_arr=array(); $e_arr=array(); $i_arr=array(); $o_arr=array(); $u_arr=array(); $other_arr=array();

C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如"121","ABBA","X"等.本实例将编写函数判断字符串是否是回文. 引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文. 下面是代码的实现部分: #include <stdio.h> #inclu

【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

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

#include <stdio.h> #include <ctype.h> #pragma mark 统计从终端输入的字符中每个大写字母的个数.用#号作为输入结束标志 int main() { int num[26] = {0}, i; char c; while ((c = getchar())!='#') { if (isupper(c)) { num[c-65]++; } } for (int i = 0; i<26; i++) { if (num[i]) { prin

7.9 字符串-最小的回文数

今天为大家讲述一道字符串的题目,重在理解思路,找到对应的某个值,如果挨个枚举时间复杂度过高, 而对字符串进行修改,灵活性会相应的高许多 题目描述 回文数是从前往后和从后往前得到的数是相同的. 现给你一个正整数N,请你找到比N大的最小的那个回文数P. 输入 输入包含多组测试数据. 每组输入一个正整数N,N不超过10000位,并且N不包含前导0. 输出 对于每组输入,输出比N大的最小的那个回文数P. 样例输入 Copy 44 3 175 样例输出 Copy 55 3 181 题解代码:#includ

LeetCode 9 Palindrome Number (回文数)

翻译 确定一个整数是否是回文数.不能使用额外的空间. 一些提示: 负数能不能是回文数呢?(比如,-1) 如果你想将整数转换成字符串,但要注意限制使用额外的空间. 你也可以考虑翻转一个整数. 然而,如果你已经解决了问题"翻转整数(译者注:LeetCode 第七题), 那么你应该知道翻转的整数可能会造成溢出. 你将如何处理这种情况? 这是一个解决该问题更通用的方法. 原文 Determine whether an integer is a palindrome. Do this without ex