本蒟蒻的洛谷刷题日记-P1125 笨小猴

本人菜鸟,大佬轻喷(这份代码调试了2个小时,555

 下为全AC代码

//思路
//接受一个字符串存入数组
//创建一个数组char[26]
// 读取每个字符的ASCII码
//然后将[ascii-1]处的值加一
//遍历一次ascii数组,获得此时的最多次数与最少次数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <string.h>

int prime[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
31, 37, 41, 43, 47, 53, 59, 61, 67, 71,73, 79 ,83 ,89 ,97 };
int main(void) {
	char str[99];
	char* p = str;
	char* p2;
	fgets(str,99,stdin);
	p2 = strchr(str, '\n');
	*p2 = '\0';
	char NumOfchar[26]={0};//初始化
	while (*p)
	{
		NumOfchar[*p - 97]++;
		p++;
	}
	short max=0, min=1,first=0;
	for (size_t i = 0; i < 26; i++)
	{
		if (NumOfchar[i] > max) //判断最大值
			max = NumOfchar[i];
		if (NumOfchar[i] != 0)
		{	
			if (first == 0) {//储存第一个非零值
				min = NumOfchar[i];
				first = 1;
			}
			if (NumOfchar[i] < min)//比较每一个非零值与min的大小
				min = NumOfchar[i]; 
			
		}
	}
	int status= 0;//用于判断是max-min是否是素数
	for (size_t i = 0; i < 25; i++)
	{
		if (max - min == prime[i]) {
			status = 1;
			break;
		}
	}
	if (status == 1) {
		printf("Lucky Word\n%d",max -min);
	}
	else
	{
		printf("No Answer\n0");
	}
	getchar();
	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值