冒泡排序,每次循环选出一个最大/最小的数在队伍的末端,循环n-1次
1 # include <stdio.h>
2
3 int main (void)
4 {
5 int a[10];
6 int i, j, t;
7
8 printf("请输入10个整数:");
9
10 for (i=0; i<10; i++)
11 scanf("%d", &a[i]);
12
13 for (i=0; i<9; ++i)
14 {
15 for(j=0; j<9-i; j++) // 后面位置的数据已选择
16 { if (a[j]>a[j+1])
17 { t = a[j];
18 a[j] = a[j+1];
19 a[j+1] = t; //每两个相邻数比较大小,选择出最大的
20 }
21 }
22 }
23
24 for (i=0; i<10; i++)
25 printf("%d ", a[i]);
26
27 printf("\n");
28
29 return 0;
30 }
选择排序,每次循环实现对相应位置的选数过程,循环n-1次
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int a[10];
6 int i, j, t;
7
8 printf("请输入10个整数:");
9
10 for (i=0; i<10; i++)
11 scanf("%d", &a[i]);
12
13 for(i=0; i<9; i++)
14 { for (j=i+1; j<10; j++) //与其余位置的数据依次进行比较
15 {
16 if(a[i]>a[j])
17 {
18 t = a[i];
19 a[i] = a[j];
20 a[j] = t;
21 }
22 }
23 } // a[i]代表位置
24
25 for (i=0; i<10; i++)
26 printf("%d ", a[i]);
27
28 printf("\n");
29
30 return 0;
31 }
查看程序运行过程中的区别,涉及到单步调试问题
step into:进入子函数内部
step over:越过子函数,但子函数会执行,只显示子函数运行结果
step out:进入到子函数中之后用此命令来跳出子函数
时间: 2024-12-25 21:46:00