1042 Shuffling Machine (20 point(s))

本文展示了一段使用C++进行数组操作的代码实例,详细介绍了如何通过输入一组整数,然后经过多次重新分配,最终输出经过特定转换后的牌组表示形式。代码中涉及了数组初始化、读取输入、数组元素的间接修改以及复杂输出格式的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matter

1.好蠢的输出。

2.只是修改位置而不是修改整个的内容。对下标直接进行修改

code

#include<iostream>
using namespace std;

int main(){
	int n , id[55] , start[55] , end[55];
	scanf("%d" , &n);
	
	//intilization the id
	for(int i = 1 ; i <= 54 ; i ++){
		start[i] = i;
	}
	
	//input
	for(int i = 1 ; i <= 54 ; i ++){
		scanf("%d" , &id[i]);
	}
	
	//get the end of the id
	for(int i = 0 ; i < n ; i ++){
		for(int j = 1 ; j <= 54 ; j ++){
			end[id[j]] = start[j];
		}
		for(int j = 1 ; j <= 54 ; j ++){
			start[j] = end[j];
		}
	}
	
	//output	
	for(int i = 1 ; i <= 54 ; i ++){
		if(start[i] == 53)	printf("J1");
		else if(start[i] == 54)	printf("J2");
		else if(start[i] / 13 == 0)	{
			printf("S%d" , start[i] % 13);	
		}
		else if(start[i] / 13 == 1){
			if(start[i] % 13 == 0)
				printf("S13");
			else	
				printf("H%d" , start[i] % 13);
		}			
		else if(start[i] / 13 == 2){
			if(start[i] % 13 == 0)
				printf("H13");
			else
				printf("C%d" , start[i] % 13);
		}	
		else if(start[i] / 13 == 3){
			if(start[i] % 13 == 0)
				printf("C13");
			else
				printf("D%d" , start[i] % 13);
		}
		if(start[i] / 13 == 4 && start[i] % 13 == 0)
			printf("D13");	
		if(i <= 53)	printf(" ");
	}
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值