設有乙個整型陣列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...