问题补充说明:如何更容易理解掌握冒泡排序法, 我是一个学c语言没多久的人 ,对for循环的嵌套不太容易了解 谁能给我详细而简单地说说如何学会冒泡排序法
#include
//链接标准头文件
#define
N
良逐片台领货5
//定义常量N并非菜卷践六图益赋值为5
void
main()
//主函数入口
{
//表示主函数开始
int
i,j;
//定义整形变量i和j
int
grade[N],temp;
权//定义N维(N=5,也就是五维啦^^)整形数组和整形变量temp
print抗门友练夫f("输入5个数\n");
//在屏幕上显式“输入5个数”并且换行
卫罪留史各供支相病千for(i=0;i //开始for循环,从i=0,每次加1,直到i=4,共需循环5次 { //循环体开始 scanf("%d",&grade[i]); //依次获取用户输入的整数值并存入数组grade中 } 月顾若握保角别//循环结束 for(i=0管;i //开始外层for循环,从i=0,每次加1,直到i=4 { //外层循环体开始 for(j=0;j //开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1 { //内层循环体开始 if(grade[j] //条件判断 { //如果整形数组前面的数比其后的小,执行以下语句 temp=gr整检少适连ade[j+1]; //将某均杆职开围冷列超比较大的数赋值给temp grade[j+1]=gr家接ade[j]; //单茶怀将比较小的数赋值给数笔之危握坐行重组中后面的变量 grade[j范院司围厂]=temp; //将比较大的数赋值给数组中前面的变量 } //从此便完成大小变量的交换,明各刑益山异脱河离使得大值往前放 } //结束内福含层循环 } //结外内层循环,完成排序 printf("最后排序为:\n");//在屏幕显式“最后排序为:”并换行 for(i=0;i //同开始易变紧的for循环类似 { //开始循环输出 printf("%d",grade[i]); //只是这里要逐个输出数组中的五个数值 } //结束循环输出 printf("\n"); //输出换行到屏幕,看不到什么效果,可删掉 } //结束main()函数