从键盘上输入任意的正整数,编程判断该数是否为回文数。 所谓的回文数就是从左到右读这个数与从右到左读这个数是一样的。 例如,12321 , 4004都是回文数。

来源:互联网 发布:vscode怎么编译运行 编辑:程序博客网 时间:2024/05/16 11:35
/*    从键盘上输入任意的正整数,编程判断该数是否为回文数。    所谓的回文数就是从左到右读这个数与从右到左读这个数是一样的。    例如,12321 , 4004都是回文数。*/#include<stdio.h>#define N 10void main(){    int n,x,m,i,k,j;    int a[N];    printf("Input x = ");    scanf("%d",&x);    m=x;    //把输入值的各个数字存入到数组上    for(i=0;i<N,m!=0;i++)    {      //取余取最低位     n = m%10;     a[i] = n;     //通过除法舍弃最低位     m /=10;    }    //判断是否为回文    for(j=0,k=i-1;j<k;j++,k--)    {        if(a[j]==a[k])            continue;        else            break;    }    if(j>=k)        printf("\t%d是回文! ",x);    else        printf("\t%d不是回文! ",x);}
//课本上的解法#include<stdio.h>void main(){    int n,m =0,s,r;    printf("Input data is: ");    scanf("%d",&n);    s = n;    while(s != 0)    {        r = s %10;     //从低位到高位逐一分离        m = 10*m+r;    //重新组合一整数        s = s/10;      //求其商    }    if(m==n)        printf("yes\n");    else        printf("no\n");}
0 0
原创粉丝点击