如题。求大神解答 不知道为什么刚才那个帖子被删了。。。。本人C语言初学者今天看到一道题,让给一组数组从小到大排列, 也没说几个数。 那程序要怎么编写呢。
#include
int main()
{
int arr[] = { 12, 5, 66, 97, 9, 22, 31, 44, 89 };//随机定义一个数组,或者你通过for循环使用输入函数scanf,随机输入一个数组,不过需要先定义数组空间大小!!!
int len = sizeof(arr) / sizeof(arr[0]);//求出数组长度
for (int i = 0; i < len - 1; i++)//冒泡排序,排序算法中最简单中的一种!
{
for (int j = 0; j < len - 1 - i; j++)
{
if (arr[j]>arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < len; i++)
{
printf("arr[%d] = %d\n", i, arr[i]);
}
system("pause");
return 0;
}
头文件:#include
建议你先看一下,数组的特性有哪些!!
操作数组,可以通过数组下标,也可以通过指针
先让用户输入数字个数n
scanf("%d", &n);
然后动态分配
arr = (int *)malloc(sizeof(int) * n);
然后循环赋值
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}