精华内容
下载资源
问答
  • 回文C语言

    2016-12-02 22:26:00
    给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。给定的数本身不为回文数。 例如:87则有: STEP1: 87+78=...

    题目描述

    若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12521就是一个回文数。
    给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。给定的数本身不为回文数。
    例如:87则有:
    STEP1: 87+78=165
    STEP2: 165+561=726
    STEP3: 726+627=1353
    STEP4: 1353+3531=4884
    编写一个程序,输入M(12<=M<=100),输出最少经过几步可以得到回文数。如果在8步以内(含8步)不可能得到回文数,则输出0。

    输入

    第1行一个正整数L,代表测试数据的组数。
    接下来L行每行一个整数M(12<=M<=100),M本身不为回文数;

    输出

    输出L行,第i行对应输入数据的第i+1行,输出最少需要的步数;如果步数大于8,则输出0。

    样例输入

    3
    12
    87
    89
    
    

    样例输出

    1
    4
    0
    代码

    #include<stdio.h>
    #include<string.h>
    int reverse(int x)
    {
    int num=0;
    while(x)
    {
    num=x%10+num*10;
    x/=10;
    }
    return num;
    }
    int judge(int x)
    {
    if(x-reverse(x)==0)
    return 1;
    else
    return 0;
    }
    int main()
    {
    int l,m,cnt=0;
    scanf("%d",&l);
    while(l--)
    {
    cnt=0;
    scanf("%d",&m);
    while(cnt<=8)
    {
    if(!judge(m))
    {
    m=m+reverse(m);
    cnt++;
    }
    else
    {
    printf("%d\n",cnt);
    break;
    }

    }
    if(cnt>8)
    {
    printf("0\n");
    }
    }
    return 0;
    }

     

    转载于:https://www.cnblogs.com/--lr/p/6127577.html

    展开全文
  • LC 验证回文c语言

    2021-02-01 14:45:58
    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: ...

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: “A man, a plan, a canal: Panama”
    输出: true
    示例 2:

    输入: “race a car”
    输出: false

    bool isPalindrome(char * s){
        int j = 0,w;
        int l = strlen(s);
        char newStr[100000] = "";
        for(int i = 0;i<l;i++){
            if(isalpha(s[i])||s[i]>='0'&&s[i]<='9'){
                if(s[i]>='a'&&s[i]<='z'){
                    newStr[j] = toupper(s[i]);
                }
                else{
                    newStr[j] = s[i];
                }
                j++;
            }
        }
        l = strlen(newStr);
        for(int i = 0;i<l;i++){
            w = l - 1 - i;
            if(newStr[i]!=newStr[w]){
                return false;
            }
        }
        return true;
    
    }
    
    展开全文
  • 回文C语言 问题描述  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式  按从小到大的顺序输出满足条件的四位十进制数。 这道题与上一道特殊的数字其实是...

    回文数 C语言

    问题描述
      1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

    输出格式
      按从小到大的顺序输出满足条件的四位十进制数。

    这道题与上一道特殊的数字其实是差不多的,只要将四位数拆出来,在进行一些运算和判断就可以了。

    代码如下:

    #include <stdio.h>
    
    int main() {
    	int i,a,b,c,d;
    	for (i=1000;i<10000;i++)
    	{
    		a=i/1000;
    		b=i/100%10;
    		c=i%100/10;
    		d=i%10;
    		
    		if(a+b*10==c*10+d) //千位和个位作个位,十位和百位作十位,然后将新组成的两个数字作比较
    			printf("%d\n",i);
    	}
    	return 0;
    }
    

    同样,在进行拆分运算时候要细心一些,基本就没什么问题啦~

    展开全文
  • 回文数字-C语言

    2020-05-14 12:23:00
    这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。 输入格式: 一个正整数 n (10< n< 100), 表示要求满足的数位和。 输出格式: ...

    题目

    观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

    本题要求你找到一些5位或6位的十进制数字。满足如下要求:
    该数字的各个数位之和等于输入的整数。

    输入格式:

    一个正整数 n (10< n< 100), 表示要求满足的数位和。

    输出格式:

    若干行,每行包含一个满足要求的5位或6位整数。
    数字按从小到大的顺序排列。
    如果没有满足条件的,输出:-1

    输入样例:

    44 
    

    输出样例:

    99899
    499994
    589985
    598895
    679976
    688886
    697796
    769967
    778877
    787787
    796697
    859958
    868868
    877778
    886688
    895598
    949949
    958859
    967769
    976679
    985589
    994499
    

    参考解答:

    #include <stdio.h>
    int main(void)
    {
        int n, flag=1,t,i,num,sum;
        scanf("%d", &n);
        for(i=11011;i<=999999;i++)
        {
            t = i, num = 0, sum = 0;
            while(t>0)
            {
                num = num*10 + t%10;
                sum += t%10;
                t /= 10;
            }
            if(num==i && sum==n)
            {
                flag = 0;
                printf("%d\n", i);
            }
        }
        if(flag)printf("-1\n");
        return 0;
    }
    
    展开全文
  • 特殊回文C语言 问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的 五位和六位 十进制数,满足各位数字之和等于n 。 输入格式  输入一行,包含一个正...
  • 基础练习 特殊回文数 问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式  输入一行,包含一个正...
  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: ...
  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: ...
  • 现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后...
  • 问题描述 1221是一个非常特殊的数,它从...这种规定了四位数的回文是真的简单,把个位和千位,百位和十位的数字进行比较就行。直接上答案 #include <stdio.h> int main() { int i=1000; for(; i<10000; ...
  • 回文数字 时间限制:1.0s 内存限制:256.0MB 问题描述  观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十...
  • 给定一个k+1位的正整数N,写成a​k​​⋯a​1​​a​0​​的形式,其中对所有i有0≤a​i​​<...首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回...
  • 这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求:  该数字的各个数位之和等于输入的整数。 输入格式  一个正整数 n (10&lt;n&lt;100), 表示要求满足的数位和。 输出...
  • #include int main(void) ... printf("请输入一个要判断的数字:\n"); scanf("%d",&val); m = val; while(m) { sum = sum * 10 + m%10; m /= 10; } if(sum == val) printf("YES!\n")
  • C语言回文数字

    千次阅读 2020-06-10 13:05:14
    观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是...这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。
  • 我把数字放在了int[11]数组的末端 如1存储为000 000 000 01 我犯过的错误:  carry = a[i] + b[i] + carry >= 10;  忘了加等于号: 注意是>=10就可以进位不是潜意识的大于10; 忘了加进位: 加法无论何时都要考虑...
  • C语言学习 回文数字

    2020-11-01 17:48:14
    回文数字 Description 给定一个数字字符串,判断它是否是回文数字。例如: 121, 1221是回文数字, 123不是回文数字。 Input 输入一个数字字符串。 Output 若是回文输出 Yes, 否则输出 No Sample Input 123321 ...
  • # include int main (){ int m ; printf("请输入一个五位数\nm= "); scanf ("%d",&m) ; int m0 , m1 ,m2 ,m3 ,m4 ; m0 = m%10; //个位 m1 = m/10%10; //十位 m2 = m/100%10; //百位 m3 = m/1000%10;...
  • C语言判断回文数字

    2020-03-17 19:59:44
    #include<stdio.h> int main(){ int n; int fun(int); printf("请输入一个数:"); scanf("%d",&n); if(fun(n)) printf("是");... printf("回文数字!\n"); } int fun(int n){ int a[20],i,...
  • 问题 1434: [蓝桥杯][历届试题]回文数字 时间限制: 1Sec 内存限制: 128MB 提交: 2107 解决: 907 题目描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样...
  • 怎样用C语言判断数字是不是回文数呀 hello,小伙伴们。刚才写了一篇判断字符串是否为回文字符串后,我瞬间来了灵感,现在我们来写一下如何用C语言判断字符串是不是回文字符串呢。 我们把一个数字当做一个字符去进行...
  • C语言-判断回文数字

    2020-02-16 23:47:12
    有这样一类数字,它们顺着看和倒着看都是相同的数...编写判断从键盘接收的数字是否为回文数字 int reverse(int i) { int m, j = 0; m = i; while (m) { j = j * 10 + m % 10; m = m / 10; } return j; } i...
  • 一开始以为行不通,后来在同学的帮助下,成功地修正了这个程序,确实感觉挺不容易,思路不一样没想到意外的找到另一种方法。

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 281
精华内容 112
关键字:

回文数字c语言

c语言 订阅