- UID
- 4800
- UCC
-
- 声望
-
- 好评
-
- 贡献
-
- 最后登录
- 1970-1-1
|
发表于 2008-12-23 18:35:59
|
显示全部楼层
以下代码在VS2005中测试通过,只是有些地方写的比较笨,因为是控制台程序,执行结果一闪而过,我想不起怎样实现“按任意键继续...”了,于是在return 0;那句上设置断点,以此来观察程序的执行结果,嘿嘿嘿... - int _tmain(int argc, _TCHAR* argv[])
- {
- int a[9] = {8,9,5,7,2,3,6,1,4}; //排序这些数字
- int i, ii, temp;
-
- for (;;) //死循环
- {
- ii = 1; //很笨的判断,我忘记怎样在C++中使用逻辑变量了,懒得查资料了...
- for (i = 0; i < 8; i++)
- {
- if (a[i] < a[i+1])
- {
- temp = a[i]; //如果... 那么开始交换
- a[i] = a[i+1];
- a[i+1] = temp;
- ii = 0; //用 ii 的值来判断是否发生过交换
- }
- }
- if (ii == 1) { break; } //如果再没有交换发生,那就完成排序,切断死循环
- }
-
- for (i = 0; i < 9; i++) //输出结果
- { printf("%d\n",a[i]); }
- return 0;
- }
复制代码 |
|