用C编程序将数组中的数据按逆序存放。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C编程序将数组中的数据按逆序存放。相关的知识,希望对你有一定的参考价值。
提示:所谓逆序存放是指将下标为0的元素与最后一个元素交换……直到交换到中间元素为止。编写程序时应注意程序中控制循环的次数。
要求:
1、用符号常量定义一个一维数组;
2、数组中个元素的值通过键盘输入;
3、输出交换前数组中个元素的值;
4、程序中要求输出交换后数组中各元素的值,以验证是否交换。
求师傅解答一下,折磨好几天了
#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编程序将数组中的数据按逆序存放。的主要内容,如果未能解决你的问题,请参考以下文章