难点在于怎么找出最多和最少的。一开始没有想到双重循环,好菜啊哈哈哈
使用双重循环,用中间变量即可
#include <stdio.h>
#include <string.h>
#include <math.h>

int max_min(char s[],int length){
    int maxn = 0;
    int minn = 100;
    for(int i = 0;i<length;i++){
        int temp1 = 0;
        int temp2 = 0;
        for(int j = 0;j<length;j++){
            if(s[j] == s[i]){
                temp1++;
                temp2++;
            }
        }
        if(temp1 > maxn){
            maxn = temp1;
        }
        if(temp2 < minn){
            minn = temp2;
        }
    }
    return maxn - minn;
}
int isprime(int a){
    if(a == 0 || a ==1){
        return 0;
    }
    else if(a == 2 || a==3 || a== 5){
        return 1;
    }
    else{
        int flag = 1;
        for(int i = 2;i<=a;i++){
            for(int j = 2;j<=(int)sqrt(a);j++){
                if(a%j == 0){
                    flag = 0;
                    break;
                }
            }   
        }
        return flag;
    }  
}
int main(){
    char s[100];
    scanf("%s",s);
    int b = max_min(s,strlen(s));      //返回最多字符次数减最小字符次数    int a = isprime(b);                //判断是否为素数
    if(a){
        printf("Lucky Word\n");
        printf("%d",b);
    }
    else{
        printf("No Answer\n");
        printf("0");
    }
    return 0;
}