pat1043:输出PATest

本文提供了一个PAT B级竞赛1043题的C语言解答方案,通过读取字符并统计特定字母出现次数,最终按最高频率输出这些字母。此代码适用于初学者了解字符输入及简单统计的应用。

https://www.patest.cn/contests/pat-b-practise/1043

#include "stdio.h"

int main()
{
	int i, j, max = 0, num[6] = {0};
	char ch;
	while(scanf("%c", &ch) && ('\n' != ch))
	{
		switch(ch)
		{
			case 'P': ++num[0]; break;
			case 'A': ++num[1]; break;
			case 'T': ++num[2]; break;
			case 'e': ++num[3]; break;
			case 's': ++num[4]; break;
			case 't': ++num[5]; break;
			default: break;
		}
	}
	for(i = 0; i < 6; ++i)
		if(max < num[i])
			max = num[i];
	for(i = 0; i < max; ++i)
		for(j = 0; j < 6; ++j)
			if(num[j])
			{
				--num[j];
				switch(j)
				{
					case 0: printf("P"); break;
					case 1: printf("A"); break;
					case 2: printf("T"); break;
					case 3: printf("e"); break;
					case 4: printf("s"); break;
					case 5: printf("t"); break;
					default: break;
				}	
			}
	printf("\n");

	return 0;
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值