写的冒泡排序法。程序已退出,返回值为 0

程序如下:
#include<stdio.h>
#include<stdlib.h>
#define N 10
void main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10},i,j,temp;
for(i=0;i<N;i++)
for(j=0;j<N-i;j++)
if(a[j]<a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
for(i=0;i<N;i++)
printf("排序后的数组%d:\t",a[i]);
system("puase");
}
在VS2012中写的。窗口总是一闪而过。

算法上应该没有问题。
建议在:
system("puase");
的下一行加上:
printf("END");
可能是因为你把puase命令加载后面了,由于编译习惯,系统直接退了。

另外,在交换过程中,建议试试无中间量交换法:
如:a和b交换
a = a + b;
b = a - b;
a = a - b;
这样完成交换只牺牲了微乎其微的计算时间,赢得了内存空间。追问

加上printf("END");一行还是不行,加上后后面的代码如下:

另外调试窗口显示“sortnew.exe”(Win32): 已加载“C:\Windows\SysWOW64\cmd.exe”。无法查找或打开 PDB 文件。

追答

啊,是 pause 不是 puase 。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网