C语言 把一个数组逆序输出

#include <stdio.h>
#define N 5
void main()
{
int i,j,a[N],b[N];
printf("input numbers:");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(j=0;j<N;j++)
b[j]=a[N-j-1];
printf("%d\n",b);
}

哪里错了???

从最后一个元素,逆向遍历到数组的0元素,逐一输出即可实现。

1、创建数组;

2、输入值;

3、逆序遍历输出数组。

代码:int main(){ int a[10]; int i;

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

scanf("%d",a+i);

for(i = 9; i >= 0; i --)

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

扩展资料:

将一个数组逆序输出。

1、程序分析:用第一个与最后一个交换。

2、程序源代码:

#define N 5

main()

{ int a[N]={9,6,5,4,1},i,temp;

printf(" original array: ");

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

for(i=0;i {temp=a[i];

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

a[N-i-1]=temp;

}

printf(" sorted array: ");

for(i=0;i printf("%4d",a[i]);}

参考资料:百度百科 c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-07

从最后一个元素,逆向遍历到数组的0元素,逐一输出即可实现。

1 创建数组;

2 输入值;

3 逆序遍历输出数组。


代码:

int main()
{
    int a[10];
    int i;
    for(i = 0; i < 10; i ++)
        scanf("%d",a+i);
    for(i = 9; i >= 0; i --)
        printf("%d ", a[i]);
}

第2个回答  推荐于2019-09-27

最后输出错了,printf("%d\n",b),这句输出的是把数组b作为整形输出了,不出意外的话应该会移除,改成下面这样:

#include <stdio.h>
#define N 5
int main(void)
{
int i,j,a[N],b[N];
printf("input numbers:");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<N;j++)
{
b[j]=a[N-j-1];
printf("%d\n",b[j]);
}
}

本回答被网友采纳
第3个回答  推荐于2018-02-16
c语言规定数组元素的输出必须用循环语句依次输出!!!不能一次引用整个数组!!!下面是根据你写的程序进行的改正!
#include <stdio.h>
#define N 5
void main()
{
int i,j,a[N],b[N];

printf("input numbers:");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(j=0;j<N;j++)
b[j]=a[N-j-1];
for(j=0;j<N;j++)
printf("%d",b[j]);
}本回答被提问者和网友采纳
第4个回答  2019-12-21
数组逆序输出,只要从数组最后一位向前循环输出即可。#include 。int main(void) {。int arr[10] = {1,2,3,4,5,6,7,8,9,10}。int i。printf("原始数组为:\n")。for(i=0。i<10。i++){。printf("%d\t",arr[i])。}。printf("逆序为:\n")。for(i=9。i>=0。i--)。printf("%d\t",arr[i])。printf("\n")。return 0。}执行结果。
相似回答