首页 > 试题广场 >

将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,

[问答题]

将一个数组中的值按逆序重新存放。例如,原来顺序为86541。要求改为14

5,6,8

推荐

#include<stdio.h>

#define N 5

int main()

{int a[N],i,temp;

printf("enter array a:\n");

for (i=0;i<N;i++)

scanf("%d",&a[i]);

printf("array a:\n");

for (i=0;i<N;i++)

printf("%4d",a[i]);

for (i=0;i<N/2;i++)                       //循环的作用是将对称的元素的值互换

{temp=a[i]:

a[i]=a[N-i-1]:

a[N-i-1]=temp;

}

printf("\nNow,array a:\n”);

for (i=0;i<N;i++)

printf("%4d",a[i]);

printf("\n');

retum 0;

}


发表于 2018-03-25 10:36:33 回复(0)
#include <stdio.h>

int main() {
    //将一个数组中的值按逆序重新存放。
    // 例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
    int arr[5] = {8,6,5,4,1};
    int len = sizeof(arr)/sizeof(arr[0]);
    int temp;

    for(int i = 0;i<len;i++){
        for(int j = i+1;j<len;j++){
            if(arr[i]>arr[j]){
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    for(int i = 0;i<len;i++){
        printf("%5d",arr[i]);
    }
    return 0;
}

编辑于 2022-10-11 22:29:35 回复(0)
int main()
{
    int a[5] = { 0 };
    int i = 0,j=0;
    int tmp = 0;
    for (i = 0; i < 5; i++)
        scanf("%d", &a[i]);
    i = 0;
    for (j = 0; j < 5 ;j++)
    for (i = 0; i < 4-j; i++)
    {
        tmp = a[i];
        a[i] = a[i+1];
        a[i + 1] = tmp;
    }
    return 0;
}
发表于 2021-05-08 14:14:14 回复(0)
#include<stdio.h>
int main()
{
    int a[5] = { 1,7,10,14,16 };
    int i;
        for (i = 5; i!=0; i--)
        {
            printf("%d ", a[i-1]);
        }
        return 0;
}
发表于 2020-10-31 23:44:39 回复(0)
int main()
{
	int a[5] = { 0 };
	int i = 0,j=0;
	int tmp = 0;
	for (i = 0; i < 5; i++)
		scanf("%d", &a[i]);
	i = 0;
	for (j = 0; j < 5 ;j++)
	for (i = 0; i < 4-j; i++)
	{
		tmp = a[i];
		a[i] = a[i+1];
		a[i + 1] = tmp;
	}
	return 0;
}

发表于 2020-04-21 17:21:08 回复(0)