标题 数字分解排序 类别 综合 时间限制 1S 内存限制 1000Kb 问题描述 输入一个9位以内的正整数n,按数值从高到低的顺序输出n的各位数字。 输入说明 一个正整数n(0
本题难度较小,关键在于把“一个9位以内的正整数n”看作是一个字符串,这样处理起来更加方便。
#include#include void BubbleSort(char* a, int n) { //优化修改过的冒泡排序 for (int i = 0; i < n - 1; i++) { int flag = 1; for (int j = 0; j < n - 1 - i; j++) { if (a[j] < a[j + 1]) { flag = 0; char tmp = a[j + 1]; a[j + 1] = a[j]; a[j] = tmp; } } if (flag) { break; } } } int main(int argc, char* argv[]) { char s[10] = { 0 }; gets(s); int n = strlen(s); BubbleSort(s, n); for (int i = 0; i < n; ++i)printf("%c ", s[i]); return 0; }


![[XDOJ]数字分解排序 [XDOJ]数字分解排序](http://www.mshxw.com/aiimages/31/655783.png)
