D 實驗7 21 編碼 解碼陣列

2021-09-02 23:47:22 字數 1154 閱讀 4340

設有乙個整型陣列a中存放n個互不相同的整數,a中元素取值範圍為0到n-1。a陣列的編碼定義如下:a[0]的編碼為0,放入b[0];ai的編碼為在a[0]、a[1]、…、a[i-1]中比a[i]的值小的數的個數,放入b[i]。例如:a[6]=時,則b[6]=。你有兩個任務,任務一是編碼,即已知n與陣列a,求陣列b;任務二是解碼,即已知n與陣列b,求陣列a。

輸入與輸出要求:首先輸入兩個整數n和flag。n代表陣列元素的個數(1<=n<=100),flag代表任務型別(flag=1代表編碼任務,flag=2代表解碼任務)。然後是n個整數,當flag=1時,這n個數即代表陣列a的內容;當flag=2時,這n個數即代表陣列b的內容。

輸出n個整數,當flag=1時即為編碼後陣列b的內容,當flag=2時,即為解碼後陣列a的內容。每個整數用空格分開,最後乙個整數後是換行符。

程式執行效果:

sample 1:

5↙1↙

2 1 3 0 4↙

0 0 2 0 4

sample 2:

8↙2↙

0 1 2 0 1 1 4 5↙

3 6 7 0 2 1 4 5

#includeint mincount(int a, int len);

int main()

; scanf("%d", &n);

scanf("%d", &flag);

if (flag == 1)

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

printf("%d ", b[i]);

printf("\n");

} else if (flag == 2)

,k,count;

for (k = 0; k < n-1; k++)

num[k + 1] = num[k] + 1;

for (k = 0; k < n; k++)

}for (j = n - 2; j >= 0; j--)

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

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

printf("\n");

} return 0;

}int mincount(int a, int len)

return count;

}

F 實驗7 21 編碼 解碼陣列

設有乙個整型陣列a中存放n個互不相同的整數,a中元素取值範圍為0到n 1。a陣列的編碼定義如下 a 0 的編碼為0,放入b 0 ai的編碼為在a 0 a 1 a i 1 中比a i 的值小的數的個數,放入b i 例如 a 6 時,則b 6 你有兩個任務,任務一是編碼,即已知n與陣列a,求陣列b 任務...

C安全編碼 陣列

建議 規則 void clear int array void dowork void clear 使用sizeof array sizeof array 0 這種用法確定這個陣列的元素數量,但由於array是乙個形參,因此它是指標型別,sizeof array sizeof int 4 32位os...

第十九次總結 編碼與解碼 資料編碼

md5是什麼?base64編碼?md5 是一種加密演算法 md5加密是非可逆的 摘要加密演算法 sha 1 sha 256 通常用在對密碼進行加密 messagedigest md messagedigest.getinstance md5 sha 1 sha 256 md.update strin...