C语言写一段程序 数组从大到小
时间: 2023-03-15 12:54:22 浏览: 61
我可以为您提供一个示例程序:int main(void)
{
int array[] = {25, 17, 18, 9, 11};
int size = sizeof(array) / sizeof(array[0]);
// 调用函数来排序数组
sortArray(array, size);
printf("数组从大到小: \n");
for (int i=0; i<size; i++)
{
printf("%d\n", array[i]);
}
return 0;
}void sortArray(int array[], int size)
{
int temp;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size - 1; j++)
{
if (array[j] < array[j + 1])
{
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
相关问题
C语言怎么播放一段数组
在C语言中,要播放一段数组通常需要将其转换为音频文件格式,然后使用相应的音频播放库来播放。下面是使用SDL2库播放PCM格式音频数组的示例代码:
```c
#include <SDL2/SDL.h>
#define BUFFER_SIZE 4096
int main() {
int frequency = 44100;
Uint16 format = AUDIO_S16SYS;
int channels = 2;
int samples = BUFFER_SIZE / 4;
SDL_Init(SDL_INIT_AUDIO);
SDL_AudioSpec wanted_spec, obtained_spec;
wanted_spec.freq = frequency;
wanted_spec.format = format;
wanted_spec.channels = channels;
wanted_spec.samples = samples;
wanted_spec.callback = NULL;
SDL_AudioDeviceID dev = SDL_OpenAudioDevice(NULL, 0, &wanted_spec, &obtained_spec, 0);
SDL_QueueAudio(dev, audio_data_array, BUFFER_SIZE);
SDL_PauseAudioDevice(dev, 0);
SDL_Delay(5000);
SDL_CloseAudioDevice(dev);
SDL_Quit();
return 0;
}
```
其中,`audio_data_array`是待播放的PCM音频数据数组,`BUFFER_SIZE`是缓冲区大小。这段代码使用SDL2库打开音频设备,并将音频数据放入设备的播放队列中。最后使用`SDL_Delay()`函数暂停程序5秒钟,等待音频播放完毕后再关闭音频设备和SDL库。
需要注意的是,这段代码中的音频格式是16位有符号整数,双声道,采样率为44100Hz。如果待播放的音频数据格式不同,需要修改代码中的相应参数。
C语言编写一段程序 :找出一组数组的最大元素
以下是一段C语言程序,用于找出一组数组的最大元素:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 9, 2, 7, 1, 8}; // 初始化一个整型数组
int len = sizeof(arr) / sizeof(int); // 计算数组长度
int max = arr[0]; // 假设第一个元素为最大值
// 循环遍历数组,找出最大值
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("最大元素为:%d\n", max); // 输出最大值
return 0;
}
```
在上面的程序中,我们先定义了一个整型数组,并初始化它的值。然后,计算数组长度并假设第一个元素为最大值。接着,我们使用for循环遍历整个数组,并通过if语句来判断是否有更大的元素存在。如果找到了更大的元素,就将它赋值给max变量。最后,程序输出最大元素的值。
如果你需要对不同的数组进行最大元素的查找,可以将上面的程序封装成一个函数,将数组作为参数传递进去:
```c
#include <stdio.h>
int findMax(int arr[], int len) { // 封装的函数
int max = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int main() {
int arr1[] = {5, 9, 2, 7, 1, 8};
int len1 = sizeof(arr1) / sizeof(int);
int max1 = findMax(arr1, len1);
printf("arr1的最大元素为:%d\n", max1);
int arr2[] = {100, 200, 300, 400, 500};
int len2 = sizeof(arr2) / sizeof(int);
int max2 = findMax(arr2, len2);
printf("arr2的最大元素为:%d\n", max2);
return 0;
}
```
在上面的程序中,我们定义了一个名为findMax的函数,它接受两个参数:一个整型数组和它的长度。函数内部通过和之前的程序一样的方式来查找最大元素,并将它作为返回值返回。在主函数中,我们定义了两个不同的数组,并分别调用了findMax函数来查找它们的最大元素。