C语言实现将一个数组中的值逆序存放并输出

供稿:hz-xin.com     日期:2025-01-15
C语言 编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。

#include "stdio.h"
#define N 5
void fun(int arr[],int n)
{
int temp,i;
for(i=0;i<=n/2-1;i++)
{
temp=arr[i];
arr[i]=arr[n-i-1];
arr[n-i-1]=temp;
}
}

main()
{
int a[N]={8,6,5,4,1},i;
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("
");
fun(a,N);
for(i=0;i<N;i++)
printf("%4d",a[i]);

}

1、首先以一个数组变量和一个数组长度变量。

2、接下来假设有一个数组交换的函数和一个输出的函数。

3、接下来我们开始编写逆序交换。

4、此时,我们开始swap交换函数。

5、然后我们定义函数声明。

6、然后再编写输出函数就可以了,全部代码如图。

你的基础上简单改了一下
#include<stdio.h>
void fun(int arr[],int n);
#define N 40
int main()
{
int arr[40],n,i;
printf("The total numbers are:");
scanf("%d",&n);
printf("Please input the numbers:");
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
//getchar();
}

fun(arr,n);
//printf("%d",arr[0]);
printf("The sorted numbers are:");
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
void fun(int arr[],int n)
{
int x,temp;
for(x=0;x<=(n-1)/2;x++)
{
temp=arr[n-1-x];
arr[n-1-x]=arr[x];
arr[x]=temp;
}
}

那是因为你没有调用fun函数,输出之前调用一次就好了,你的主函数里面只声明了,没调用

#include<stdio.h>
void fun(int arr[],int n);
#define N 40
int main()
{
int arr[40],n,i;
printf("The total numbers are:");
scanf("%d",&n);
    printf("Please input the numbers:");
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
getchar();
}
void fun(int arr[],int n);
//printf("%d",arr[0]);
fun(arr, n);////////////////////
printf("The sorted numbers are:");
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
void fun(int arr[],int n)
{
int x,temp,m=n-1;
if(n%2==0)
{
for(x=0;x<=(m-1)/2;x++)
{
temp=arr[m-x];
arr[m-x]=arr[x];
arr[x]=temp;
}
}
else
{
for(x=0;x<=(m-2)/2;x++)
{
temp=arr[m-x];
arr[m-x]=arr[n];
arr[x]=temp;
}
}
}


C语言编程 将一个数组里的数按逆序重新存放
include<stdio.h> void Fun(int p[],int)main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=0;i<10;i++)printf("%d ",a[i]);puts("\\n");Fun(a,10);for(i=0;i<10;i++)printf("%d ",a[i]);puts("\\n");} void Fun(int p[],int n){ int i,t;for...

如何将一个数组中的值按逆序排放
两种方案:1、输入的时候从最大下标开始到下标0的逆序存放,再顺序输出;2、输入的时候从0开始依次输入,输出从最大下标开始到0下标的逆序输出;例如:\/\/方案一 #include "stdio.h"#define N 5int a[N];int main(){int i=0;double ave;for(i=N-1;i>=0;i--)\/\/逆序输入scanf("%d",&a...

将一个数组中的值逆序存放
\/\/此时arr1即为逆序存放的数组 for(i=0;i<5;i+++) { printf("%d",arr1[i]);\/\/打印输出 } return 0;}python、Java或JavaScript等高级语言,可用内置函数reverse实现 \/\/以下为JavaScript反转数组var arr=[8,6,5,4,1];arr1=arr.reverse();\/\/完成反转 ...

C语言 编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出...
include "stdio.h"define N 5 void fun(int arr[],int n){ int temp,i;for(i=0;i<=n\/2-1;i++){ temp=arr[i];arr[i]=arr[n-i-1];arr[n-i-1]=temp;} } main(){ int a[N]={8,6,5,4,1},i;for(i=0;i<N;i++)printf("%4d",a[i]);printf("\\n");fun(a,...

C语言中:将一维数组中的n(n<=50)个数按逆序存放。怎么编程?
数组中第一个和最后一个换位置 第二个和倒数第二个换位置 以此类推 源代码如下:include<stdio.h> int main(){ int n;\/\/n个数字 int i;\/\/循环变量 int num[50];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&num[i]);for(i=0;i<n\/2;i++){ int t;\/\/交换值的中间变量...

将一个数组中的值按逆序重新存放
直接 l=len(num);for (int i=0;i<l\/2;i++){temp=num[i];num[i]=num[l-i];num[l-i]=temp;}

c语言编程,讲将一个数组的值按逆序重新存放。如原来5 3 2 6 9,改为...
int i;int b[10]={0};printf("请输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)b[i]=a[9-i];\/\/倒序存到b数组中 for(i=0;i<10;i++)a[i]=b[i]; \/\/再存回原来的数组,则原来数组值就倒序了 printf("输入的值倒序存放后:");for(...

用C语言将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4...
include<stdio.h> int main(){ int a[20]={1,0},i,n,j;printf("请输入数组元素的个数:");scanf("%d",&n);printf("请输入数组元素:\\n");for(i=0;i<n;i++)scanf("%d",&a);for(i=0;i<n\/2;i++)a=a[n-1-i];printf("逆序存放后的数组:\\n");for(i=0;i<n;i++...

C语言编程:将一个数组中的值按照逆序重新存放并且输出。问一下为什么...
不知道是奇数个数,还是偶数个数,都定义为n(n<100),先确定要在数组中存放几个数,即给n赋值,然后再给数组b[0]--b[n-1]赋值,最后逆序存放。main(){ int i,b[100]; int n,temp;printf("the numbers is:");scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&b[i]);for(i...

c语音 编程 将一个数组中的元素进行逆序存放,比如原有的数据为1.2.3.4...
printf("\\n数组原始数据: ");for (int i = 0; i < count; i++) { printf("%d, ", array[i]);} int start = 0;int end = count - 1;while (start < end) { int swap = array[start];array[start] = array[end];array[end] = swap;start++;end--;} printf("\\n逆序后...