帮我编写个C程序,有一个含有10个元素的整型数组,原来顺序为10、9、8、7、6、5、4、3、2、1;要求编写程序自定义函数将数组中的值按逆序重新存放,即1、2、3、4、5、6、7、8、9、10。
时间: 2023-06-10 21:05:30 浏览: 90
好的,下面是代码:
```
#include <stdio.h>
// 自定义函数,将数组中的值按逆序重新存放
void reverseArray(int arr[], int len) {
int i, temp;
for (i = 0; i < len/2; i++) {
temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
}
int main() {
// 定义数组
int arr[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
// 输出原数组
printf("原数组:\n");
int i;
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 调用自定义函数,将数组倒序
reverseArray(arr, 10);
// 输出新数组
printf("新数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
希望对您有所帮助!
相关问题
2. 有一个含有10个元素的整型数组,原来顺序为10、9、8、7、6、5、4、3、2、1;要求编写程序自定义函数将数组中的值按逆序重新存放,即1、2、3、4、5、6、7、8、9、10。
好的,您的第一个问题是如何将一个含有10个元素的整型数组按逆序重新存放?这个问题很简单,可以通过自定义函数实现。以下是一个C语言的示例代码:
```
void reverseArray(int arr[], int n)
{
int temp;
for (int i = 0; i < n/2; i++)
{
temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
}
```
以上代码中,reverseArray是自定义函数的名称,arr是含有10个元素的整型数组,n表示数组的元素个数。程序使用for循环遍历数组,将数组中的每个元素按照逆序重新存放,直到遍历到数组的一半。在循环中,先将数组的前一半元素存储到一个临时变量temp中,然后交换位置,以实现数组的逆序存放。
用c语言写有一个含有10个元素的整型数组a[10],原来顺序为10、9、8、7、6、5、4、3、2、1;要求编写程序将数组中的值按逆序重新存放,即1、2、3、4、5、6、7、8、9、10,并将数据依次输出,且数据之间留一个空格。
可以使用冒泡排序法实现这个功能,将数组中的元素按照逆序重新排列。具体实现步骤如下:
1. 定义一个int类型的临时变量temp;
2. 使用双重循环,外层循环控制排序的趟数,内层循环控制每一趟比较的次数;
3. 每一趟比较相邻的两个元素,如果前面的元素比后面的元素大,则交换它们的值;
4. 循环结束后,数组中的元素就按逆序重新排列了。
以下是示例代码:
```c
#include <stdio.h>
int main()
{
int a[10] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
int i, j, temp;
// 使用冒泡排序法将数组按逆序重新排列
for(i = 0; i < 10; i++)
{
for(j = 0; j < 9 - i; j++)
{
if(a[j] < a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
// 输出重新排列后的数组
for(i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
return 0;
}
```
输出结果为:1 2 3 4 5 6 7 8 9 10
阅读全文