C语言回文数

2017-05-04 20:38

当年看郝斌讲解的C语言,回文数,哈哈,后续会分享我当年跟着他学习的数据结构代码

//2013-7-21    10:54
//功能:如何求一个回文数? (84  while用法举例)
//知识点:c语言中除法(/)和求余(%)的用法     及while用法
//技能: 求回文数的核心代码掌握     学会试数,像计算机一样去执行,别管为什么(看懂一个看不懂的程序的不二法门)


/*# include <stdio.h>

int main()
{
    int val;  //val存放一个回文数
    int sum = 0;
    
    printf("please input one 回文数:\n");
    scanf("%d" , &val);

    

    while (val)
    {
        sum = sum * 10 + val % 10;
        val /= 10;
    }
    
    if(val == sum)
    {
        printf("是回文数\n");
    }
    else
    {
        printf("不是回文数\n");
    }
    
    return 0;
} 运行结果均为:  不是回文数
 原因:  用户键入的数字存放在val中,但程序最终的val已经改变,
 所以原来键入数字逆序后的数字sum肯定不与已经改变后的val相等
 
 改正:提供一个变量m, 将键入的数字val赋值给m ,让m 去执行程序最终生成sum,
       而初次键入的数字扔存放在val里,不变
       然后两者sum,val 进行大小比较   */
# include <stdio.h>

int main()
{
    int val;  //val存放一个回文数
    int sum = 0;
    int m;
    
    printf("please input one 回文数:\n");
    scanf("%d" , &val);

    m = val;  //这里千万不能写成m == val ,问题同上
    while (m)
    {
        sum = sum * 10 + m % 10;
          m/= 10;
    }
    
    if(val == sum)
    {
        printf("是回文数\n");
    }
    else
    {
        printf("不是回文数\n");
    }
    
    return 0;
}


//练习
#include <stdio.h>
int main() {
    int val;
    int fin = 0;
    int n;
    printf("请输入一个回文数:\n");
    scanf("%d",&val);
    n = val;
    while(n) {
        fin = fin * 10 + n % 10;
        n /= 10;
    }
    if(val == fin) {
        printf(val + "是回文数");
    }
    else {
        printf(val + "不是回文数");
    }
    return 0;
}
//练习2
#include <stdio.h>
void main() {
    int val;
    int fin = 0;
    int m;
    printf("请输入一个回文数:\n");
    scanf("%d", &val);
    m = val;
    while(m) {
        fin = fin * 10 + m % 10;]
        m /= 10;
    }
    if(val == fin) {
        printf(val + "是一个回文数");
    }else{
        printf(val + "不是一个回文数!");
    }
}