㈠ 編寫程序將一個數組中的數按逆序重新存放並輸出(程序中數組的元素個數自定,逆序
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("<格式化字元串>", <參量表>);
其中格式化字元串包括兩部分內容: 一部分是正常字元, 這些字元將按原樣輸出; 另一部分是格式化規定字元, 以"%"棚此開始, 後跟一個或幾個規定字元,用來確定輸出內容格式。
參量表是需要輸出的一系列參數, 其個數必須與格式化字元串所說明的輸出參數飢納個數一樣多, 各參數之間用","分開。