题目详情 (pintia.cn)
#include<stdio.h>
#include<string.h>
int main(){
int i,j,n;
char H[][4]={[0]="S",[1]="H",[2]="C",[3]="D",[4]="J",};
char S[][4]={"1","2","3","4","5","6","7","8","9","10","11","12","13"};
char A[54][4]={"\0"};
char B[54][4]={"\0"};
int c[54];
for(i=0;i<5;i++){ //构建原始排序
for(j=0;j<13;j++){
strcat(A[i*13+j],H[i]);
strcat(A[i*13+j],S[j]);
}
}
scanf("%d",&n); //输入
for(i=0;i<54;i++){
scanf("%d",&c[i]);
}
for(j=0;j<n;j++){
for(i=0;i<54;i++){ //把A数组复制成B数组
strcpy(B[i],A[i]);
}
for(i=0;i<54;i++){
strcpy(A[c[i]-1],B[i]); //按输入的顺序,把B数组中的值给A数组。
}
}
for(i=0;i<54;i++){
if(i!=53){
printf("%s ",A[i]);
}else{
printf("%s",A[i]);
}
}
return 0;
}