用C编程序将数组中的数据按逆序存放。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C编程序将数组中的数据按逆序存放。相关的知识,希望对你有一定的参考价值。

提示:所谓逆序存放是指将下标为0的元素与最后一个元素交换……直到交换到中间元素为止。编写程序时应注意程序中控制循环的次数。
要求:
1、用符号常量定义一个一维数组;
2、数组中个元素的值通过键盘输入;
3、输出交换前数组中个元素的值;
4、程序中要求输出交换后数组中各元素的值,以验证是否交换。

求师傅解答一下,折磨好几天了

#include<stdio.h>
#define N 10
int main()

int a[N];
int b[N];
int i;
printf("请输入%d个数",N);
for(i= 0;i<N;i++)
scanf("%d",&a[i]);

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

b[i] = a[N-1-i];
printf("%d ",a[i]);

printf("\n");
for(i=0;i<N;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
参考技术A #include<stdio.h>
#define N 10
void main()

int a[N],b[N],i;
printf("原数组a为:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("新数组b为:\n");
for(i=0;i<N;i++)

b[i]=a[N-i-1];
printf("%2d",b[i]);

printf("\n");

编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数自定,逆序

编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数自定,逆序时不使用辅助数组)。如:输入5个数3、9、7、6、1,逆序存放后数组是1、6、7、9、3。

void invert(int a[ ],int n)

int temp;// 临时存储单元

// 以n/2为对称点,进行对称位置交换。

for(int i=0;i<n/2;i++)

// a[i]存放在临时存储单元

temp=a[i];

// 将i的对称的数据存到a[i]

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

// 将原a[i]中的数据(即temp),存放到i的对称点a[n-1-i]

a[n-1-i]=temp;

// 重新输出数组

for(int i=0;i<n;i++)

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

直接计数

计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。例如在序列 2, 4, 3, 1 中,逆序依次为 (2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为 4。

Visual Basic 6.0 编写的示例使用的就是直接计数的方法,函数 NiXushu 返回一个字符串的逆序数。

Private Function NiXuShu(ByVal l As String) As Long '逆序数计算

Dim i As Integer, j As Integer, c As Long

Dim n() As Integer

ReDim n(Len(l))

For i = 1 To Len(l)

n(i) = Val(Mid(l, i, 1))

For j = 1 To i - 1

If n(i) < n(j) Then

c = c + 1

End If

Next j

Next i

NiXuShu = c

End Function

以上内容参考:百度百科-逆序数

参考技术A void invert(int a[ ],int n)
int temp;// 临时存储单元
// 以n/2为对称点,进行对称位置交换。
for(int i=0;i<n/2;i++)
// a[i]存放在临时存储单元
temp=a[i];
// 将i的对称的数据存到a[i]
a[i]=a[n-1-i];
// 将原a[i]中的数据(即temp),存放到i的对称点a[n-1-i]
a[n-1-i]=temp;


// 重新输出数组
for(int i=0;i<n;i++)
printf("%d\t",a[i]);





上面就是你要的函数,希望你能看懂。
参考技术B Javascript 的..这只是个方法 ...

var s=new Array("1","2","3","4");
var d="";
for(i=s.length-1;i>=0;i--)
d+=s[i];

alert(d)
参考技术C use strict;
use warnings;
print "how much number you want in put:";
my $tal=<>;
chomp($tal);
my @num;
for (my $i=0;$i<$tal;$i++)
$num[$i]=<>;
chomp $num[$i];

@num=reverse@num;
for(@num)
print "$_\n"


perl脚本这样搞定
参考技术D 你没明确给出要求用什么语言编程。

以上是关于用C编程序将数组中的数据按逆序存放。的主要内容,如果未能解决你的问题,请参考以下文章

C语言,将一个数组中的值按逆序重新存放

c语言将数组中的数逆序存放

将一个数组中的值按逆序重新存放。例如8,6,5,4,1要求改为1,4,5,6,8.

将一个数组中的值逆序存放

编写一个C语言程序:将一个数组中的值按逆序重新存放

C语言编程,编程实现怎样将一个数组逆序输出?