C语言程序输入256如何逆序输出为652,最好有过程和讲解?

如题所述

过程:根据题意,就是要求先输出个位数,然后是十位数,再是百位数、千位数等等。

思路:通过不断的除以10求余数可分别得到个位数,十位数,百位数,千位数等等。

源程序:

说明:



执行过程如下:

第1步:先求解表达式1,此题不用求解直接是1,所以程序往下执行。

第2步:求解表达式2,n初值是256,其值为真(非0),则执行for语句中指定的内嵌语句 printf("%d",n%10); ,然后执行下面第3步;若其值为假(0),则结束循环,转到第5步。

第3步:求解表达式3,即n=n/10。

第4步:转回上面第2步继续执行。

第5步:循环结束。

程序执行过程如图所示:

运行过程说明

程序运行结果:

当然,如果想输入负整数-256:

增加负整数代码

原理同正整数部分,程序运行结果:

程序运行结果

当然还可以增加输入是否正确的判断部分

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-28

#include <stdio.h>


int main()

{

    int n;

    for(scanf("%d",&n);n;n/=10)

        printf("%d",n%10);

    return 0;

}

相似回答