纯 C,为什么会 TLE 呢,我不理解
查看原帖
纯 C,为什么会 TLE 呢,我不理解
1051008
Jumpy楼主2023/8/8 13:29
#pragma warning(disable:4996)
#include <stdio.h>
int main()
{
	// 读入 4 行字符串,并统计每个字母出现次数,最大出现次数记为 max,最后一次出现记为 last
	int count[26] = { 0 }, max = 0, i = 0, j = 0, last = 0;
	char tmp = 0;
	for (i = 0; i < 4; )
	{
		tmp = getchar();
		if (tmp >= 'A' && tmp <= 'Z')
		{
			count[tmp - 'A']++;
			if (count[tmp - 'A'] > max)
			{
				max = count[tmp - 'A'];
				last = tmp - 'A';
			}
		}
		else if (tmp == '\n')
		{
			i++;
		}
	}

	// 打印非最后一行
	for (i = max; i >= 1; i--)
	{
		// 统计每一行的星号最后出现的位置 last
		for (j = last; j < 26; j++)
		{
			if (count[j] >= i)
			{
				last = j;
			}
		}

		// 打印每行非最后一个
		for (j = 0; j < last; j++)
		{
			if (count[j] >= i)
			{
				printf("* ");
			}
			else
			{
				printf("  ");
			}
		}

		// 打印每行最后一个,特殊处理
		printf("*\n");
	}

	// 打印最后一行
	printf("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n");
	return 0;
}
2023/8/8 13:29
加载中...