|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想给数组拍个顺序,但不知道哪里错了,希望有大佬指点一下。
#include<stdio.h>
int main()
{
int a[10] = {1,3,2,8,6,4,7,5,9,0};
int i=0,s,j,h;
for (h = 0; h < 10; h++)
{
for (i = 0, j = 1; j < 10; )
{
s = &a[i] - &a[j];
if (s > 0)
j++;
else
i = j; j++;
}printf("sun%d\n", a[i]);
}
打印结果是10列的sun0
- #include<stdio.h>
- int main()
- {
- int a[10] = {1,3,2,8,6,4,7,5,9,0};
- int i=0,s,j,h, temp;
- for (h = 0; h < 10; h++)
- {
- for (i = 0, j = 1; j < 10; )
- {
- s = a[i] - a[j]; // 判断大小,可用2数相减的 结果s > < = 0来确定。(,你用地址来操作不知道你何意)
- // 既然是排序那就少不了数据交换
- if (s < 0)
- {
- temp = a[i];
- a[i] = a[j];
- a[j]=temp;
-
- }
-
- i = j;
- j++;
-
- }
-
- }
- // 最后打印排序好的数据
- for (h = 0; h < 10; h++)
- {
- printf("%d\n", a[h]);
- }
- }
复制代码
|
|