㈠ 编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数自定,逆序
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 ",a[i]);
}
}
直接计数
计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。例如在序列 { 2, 4, 3, 1 } 中,逆序依次为 (2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为 4。
Visual Basic6.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
以上内容参考:网络-逆序数
㈡ c++ 输入10个整数存放在数组a中,数组a的各个元素倒过来存储,然后输出逆序存数组a中的10个数
//把以下代码放入main函数就可以了
inta[10]={0};
//倒过来存
for(inti=9;i>=0;i++)
{
cin>>a[i];
}
//输出全部数据
for(inti=0;i<10;i++)
{
cout<<a[i]<<'';
}
朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。
㈢ 用c语言把一个数字反过来
用c语言把一个数字反过来可以参考下面的烂和没代码:
#include <stdio.h>
#include <string.h>
void main()
{
char str[100];
printf("请输入一个数:");
gets(str);
printf("%s ",strrev(str));
}
(3)怎么把一个数反向存储扩展阅读:
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"棚此开始, 后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数饥纳个数一样多, 各参数之间用","分开。