1 #include <stdio.h>
2 int sort(int a[], int n)
3 {
4 int i,j,k,tmp;
5 for(i=0;i<n-1; i++)
6 {
7 k=i;
8 for(j=i;j<n;j++)
9 if(a[i]>a[j])
10 k=j;
11 tmp=a[k];
12 a[k]=a[i];
13 a[i]=tmp;
14 }
15 }
16 int main()
17 {
18 int a[10];
19 int i;
20 for(i=0; i<10; i++) scanf("%d", &a[i]);
21 sort(a,10);
22 for(i=0; i<10; i++) printf("%d\n", a[i]);
23 return 0;
24 }
上面这个代码是不能按照我想要的去运行的,但我把第9行改成if(a[k]>a[j])时就可按我想要得到去运行
问题一:第7行和第10行把i和j的值赋给k有什么作用?或者说为什么要加一个K?
问题二:当if条件句的内容没有用括号时,机器是怎么判断截至到哪里是属于if条件句的内容?如10-13行,如果我再在1行后面加代码,机器是怎么知道那行代码是条件句判断成功才执行的?
1 回答
- 1 回答
- 0 关注
- 1208 浏览
添加回答
举报
0/150
提交
取消