定义一个长度为10的整型数组

要求:用一个sinput函数从键盘输入10个整数,用一个sorder函数将这10个数从小到大冒泡排序,并在主函数中输出排序后的10个数
请验证正确后回复!尽快哦~·

第1个回答  推荐于2018-04-27
不知道,你要C还是C++,用C编了一个
从小到大冒泡排序?不是太明白
冒泡从前向后冒泡,排序成从小到大的顺序(我的理解)

#include <stdio.h>

void sinput(int *p, int n);
void sorder(int *p, int n);
void display(int *p, int n);

int
main(int argc, char **agrv)
{
int a[10];

sinput(a, 10);
display(a, 10);

sorder(a, 10);
display(a, 10);

return 0;
}

void sinput(int *p, int n)
{
int i;

printf("请输入10个整数\n");

for (i = 0; i < n; i++)
scanf("%d", p++);
}

void sorder(int *p, int n)
{
int i;
int j;

for (i = n - 1; i >= 0; i--)
for (j = 0; j < i; j++)
{
if (p[j] > p[j + 1])
{
p[j] = p[j] ^ p[j + 1];
p[j + 1] = p[j] ^ p[j + 1];
p[j] = p[j] ^ p[j + 1];
}
}
}

void display(int *p, int n)
{
int i;

for (i = 0; i < n; i++)
printf("%d ", *p++);

printf("\n");
}

验证如下:(不贴图了)
请输入10个整数
9 -1 3 -2 0 11 8 5 -5 1
9 -1 3 -2 0 11 8 5 -5 1
-5 -2 -1 0 1 3 5 8 9 11
Press any key to continue本回答被提问者和网友采纳
相似回答