repas-originse 2022-10-14 13:53 采纳率: 66.7%
浏览 21
已结题

我这么写都能编错==

#include<iostream>
#include<cmath>
#include<string>
using namespace std;
bool prime(int x);

int main()
{
    string hyper;
    int a[26]={0};
        int maxn=0,minn=9999;

    cin>>hyper;
    for(int i=0;i<hyper.length();i++)
        a[hyper[i]-'a']+=1;
    for(int i=0;i<26;i++)
    {
        if(max<a[i])
           max=a[i];
        if(min>a[i]&&a[i]!=0)
           min=a[i];
    }
    if(prime(maxn-minn))
       cout<<"Lucky Word"<<endl<<(maxn-minn)<<endl;
    else 
            cout<<"No Answer"<<endl<0<<endl;
        return 0;
}

bool prime(int x)
{
     if(x<2)
        return false;
     else
        {
         for(int i=2;i<=sqrt(x);i++)
         {
             if(x%i==0)
                return false;
          }
         }
         return true;
}

【截图1】

img


题目描述
【截图2】

img


结果

  • 写回答

2条回答 默认 最新

  • honestman_ 2022-10-14 13:59
    关注
    
    #include <stdio.h>
     #include <string.h>
     #include <stdlib.h>
     #include <math.h>
     int fun(const void *a,const void *b)//大到小排序
     {
        return *(int*)b-*(int*)a;
     }
     int prime(int x) //是合数返回0,不是返回1
     {
         int i,l;
         if(x==||x==) return ;
         else
         {
             l=sqrt(x);
             for(i=;i<=l;i++)
                 if(x%i==) return ;
                     return ;
         }
     }
     int main()
     {
         char a[];
         int i,j=;//循环
         int b[];//存储每个字母出现的次数
         int c[];//备份
         int maxn,minn;//最大最小
         for(i=;i<;i++)
         {
             b[i]=;//初始化、清零
         }
         //freopen("word.in","r",stdin);
         //freopen("word.out","w",stdout);
         gets(a);
         for(i=;i<strlen(a);i++)//统计每个字母出现的次数
         {
             b[a[i]-]++;
         }
         for(i=;i<;i++)
         {
             if(b[i]!=)//不是0,存入c数组
             {
                 c[j]=b[i];
                 j++;
             }
         }
         qsort(c,j,sizeof(int),fun);
         j--;
         maxn=c[];
         minn=c[j];
         if(prime(maxn-minn)==) printf("Lucky Word\n%d\n",maxn-minn);
         else if(prime(maxn-minn)==)printf("No Answer\n%d\n",);
         return ;
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)