用c语言定义一个数组,将数组中的数从小到大依次输出
时间: 2024-05-05 14:16:05 浏览: 81
以下是用C语言定义一个数组,将数组中的数从小到大依次输出的代码:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 计算数组长度
int len = sizeof(arr) / sizeof(arr[0]);
// 冒泡排序
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; 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("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
1 1 2 3 3 4 5 5 5 6 9
```
相关问题
用c语言将数组中的元素从小到大依次输出
以下是使用C语言将数组中的元素从小到大依次输出的示例代码:
```c
#include <stdio.h>
int main()
{
int arr[] = { 9, 2, 5, 1, 8, 3, 7, 4, 6 };
int n = sizeof(arr) / sizeof(arr[0]); // 计算数组元素个数
// 冒泡排序
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; 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 < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码中,我们首先定义了一个整型数组`arr`,并给它赋了一些初始值。然后,我们使用冒泡排序算法对数组进行排序,最后输出排序后的数组元素。
冒泡排序算法的基本思想是,比较相邻的两个元素,如果前面的元素比后面的元素大,就交换它们的位置。通过多次迭代,将最大的元素逐渐“冒泡”到数组的末尾。在上述代码中,我们使用了双重循环来实现冒泡排序。外层循环控制排序的轮数,内层循环用于比较相邻的元素并交换它们的位置。
排序完成后,我们使用一个简单的循环输出排序后的数组元素。注意,在输出数组元素时,我们使用了`printf`函数,并在元素之间添加了一个空格,以便分隔各个元素。
用C语言利用指针数组对五个变量从小到大排序并输出
好的,以下是代码实现:
```c
#include <stdio.h>
void sort(int* arr[], int len);
int main() {
int a = 5, b = 2, c = 7, d = 1, e = 9;
int* arr[5] = {&a, &b, &c, &d, &e};
sort(arr, 5);
for(int i = 0; i < 5; i++) {
printf("%d ", *arr[i]);
}
return 0;
}
void sort(int* arr[], int len) {
int temp;
for(int i = 0; i < len - 1; i++) {
for(int j = i + 1; j < len; j++) {
if(*arr[i] > *arr[j]) {
temp = *arr[i];
*arr[i] = *arr[j];
*arr[j] = temp;
}
}
}
}
```
解释一下代码:
首先,我们定义了 5 个变量并将它们的地址存储到指针数组 `arr` 中。
然后,我们调用 `sort` 函数进行排序。该函数采用选择排序算法,依次比较数组中的元素,将较小的元素放在前面,较大的元素放在后面。
最后,我们遍历数组并输出排好序的结果。
注意:在本例中,我们使用了函数 `sort` 对指针数组进行排序,这种方式可能不是最优的。在实际编程中,我们可以选择其他更高效的排序算法,或者使用库函数进行排序。
阅读全文