1042. Shuffling Machine (20)

本文深入探讨了字符串操作及输出算法,通过实例展示了如何利用特定函数实现字符映射输出,涉及C语言基础应用。

考察字符串操作

#include<iostream>

void OutputWord(int a)
{
	int flag = a/13;
	if(0 == flag)
		printf("S");
	else if(1 == flag)
		printf("H");
	else if(2 == flag)
		printf("C");
	else if(3 == flag)
		printf("D");
	else if(4 == flag)
		printf("J");

	printf("%d", a%13+1);
}
#define NUM 54
int main()
{
	int n;
	int s[NUM];
	int a[NUM];
	while( scanf("%d", &n) != EOF )
	{
		for(int i = 0; i < NUM; ++i)
		{
			a[i] = i;
			scanf("%d", &s[i]);
		}
		//shuffling
		while(n--)
		{
			int a_back[NUM];
			for(int i = 0; i < NUM; ++i)
				a_back[i] = a[i];
			for(int i = 0; i < NUM; ++i)
				a[s[i]-1] = a_back[i]; 
		}
		//output
		for(int i = 0; i < NUM; ++i)
		{
			OutputWord(a[i]);
			//printf("%d", a[i]);
			if(i != NUM-1)
				printf(" ");
			else
				printf("\n");
		}
	}
	return 0;
}


 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI记忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值