目的:熟悉运算符的运用(如:%取余)

3位数的取余是我们所熟悉的,如下:

#include <stdio.h>
int main()
{
    int x, a, b, c,sum;

    scanf("%d", &x);

    a = x / 100;
    b = (x - a * 100) / 10;
    c = x % 10;
    sum = c * 100 + b * 10 + a;
    printf("%d", sum);
    return 0;
}

那么有一个整数,我们不知道它是几位数,那么应该怎样实现他的逆序数呢?

#include <stdio.h>

int main()
{
    int x, i,sum = 0;
    int n = 0;//表示是n位数。
    int a,b,y;

    scanf("%d", &x);

    y = x;
    while(y != 0)
    {
        y = y/10;
        n++;
    }
    for(i = 0; i < n;i++)
    {

        a = x/10;
        b = x%10;
        x = a;
        sum = sum * 10 + b;
    }
    printf("%d", sum);
    return 0;
}

如果用定义函数的方法,实现逆序数的方法

#include <stdio.h>
int NiXuShu(int n)
{
    int a = 0;
    while(n != 0)
    {
        a = a *10 +n % 10;
        n = n/10;
    }
    return a;
}
int main()
{
    int n, x;

    scanf("%d", &n);

    x = NiXuShu(n);
    printf("%d", x);
    return 0;
}

更多推荐

关于C语言中逆序数的计算