冒泡排序,本着培养思维的目的,笔者特地花了一个多小时做了流程图。。。。
推荐一款制作流程图工具----迅捷画图,感觉还可以,(第一次用)。
好了,废话少说,进入正题了
冒泡排序,是众多排序算法中的一种,然后。。。编不下去了,算了直接流程图走起
感觉还可以吧,有什么不妥的地方请多多指教。顺便插一句(做完流程图我的是导出png格式)
流程图写的这么详细,代码都可以看着直接打了。。。一波自恋中。。。
好了,下面上代码
#include<stdio.h>
int main()
{int a[100],i=0,j=0,k=0,t;
char ch;
printf("please enter data:\n");
do
{scanf("%d",&a[i]);
i++;
}while((ch=getchar()!='\n'));
k=i;
for(i=0;i<k;i++)
{for(j=1;j<k-1;j++)
{if(a[j-1]>a[j])
{t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
}
}
printf("the sorted numbers:\n");
for(i=0;i<k;i++)
{printf("%d ",a[i]);
}
return 0;
}
注意一点,笔者用的是do while而不是while,这是因为如果用while的话,第一个你输入的数据会存到getchar中(用户输入的字符被存放在键盘缓冲区中)所以如果直接用while的话,最后会少一个数。
好了,今天就先到这里了。给自己加个油,希望坚持下去,先立一个flag,以后要把作业上的题重新简化下,有的会加上流程图,毕竟要培养思维呀,