; scanf("%d",&num); while (num>0) /*num大于0就不停循环*/ { printf("%d",num%10); /*输出个位*/ num/=10; /*除以10*/ }

}VC++6.0测试通过输入:1234输出:4321
要编程得到指定任意三位数的逆序数,可以考虑以下步骤:
1.定义一个三位数整型变量,用 scanf()函数进行输入;
3.用取到的三个数字重新计算逆序数,如三位数为abc,则逆序数为cba,需要用到数的运算和位运算进行计算;
4.用 printf() 函数输出计算好的逆序数。编程中需要掌握c语言的基本语法,如变量、输入、输出、算术运算等,同时需要了解位运算及其用途。
1 可以使用C语言编程实现一个任意三位数的逆序数。2 首先,将输入的三位数分别拆分出个位、十位、百位上的数字,并将其存储在变量中。3 然后,通过数学运算将这三个数字按照百位、十位、个位的顺序组合成一个新的整数。4 最后输出这个新的整数即可得到输入的三位数的逆序数。5 通过这种方法,可以实现任意三位数的逆序数的计算。
4第一个,所以数目为0
3的前面是4,大于3的数目为1
1的前面是4 3 ,大于1的数目为2
2的前面是4 3 1,大于2的数目为2
求逆序数的两种方法
常规方法是按照逆序数的规则做,结果复杂度是O(n*n),一般来说,有两种快速的求逆序数的方法
分别是归并排序和树状数组法
归并排序是源于分而治之思想,详细的过程可以查阅其他资料,总体思想是划分一半,各自排好序后将两个有序序列合并起来。
首先我们假设两个有序序列a[i]和b[i],当合并时:
由于a[i]已是有序,所以对于a[i]的各个元素来说,排在它前面且比它大的数目都是0
当b[i]中含有比a[i]小的元素时,我们必然将b[i]元素插到前面,那么就是说,在b[i]原先位置到该插的位置中,所有数都比b[i]大且排在它前面
所以这是b[i]的数目为新插入位置newPos - 原来位置oldPos