雅痞6 2023-02-03 19:39 采纳率: 81%
浏览 37
已结题

幸运单词问题,提交不过

问题遇到的现象和发生背景 题目描述

小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!

这种方法的具体描述如下:假设 maxn 是单词中出现次数最多的字母的出现次数,\text{minn}minn 是单词中出现次数最少的字母的出现次数,如果 \text{maxn}-\text{minn}maxn−minn 是一个质数,那么小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案。

输入格式
一个单词,其中只可能出现小写字母,并且长度小于 100100。

输出格式
共两行,第一行是一个字符串,假设输入的的单词是 Lucky Word,那么输出 Lucky Word,否则输出 No Answer;

第二行是一个整数,如果输入单词是 Lucky Word,输出 \text{maxn}-\text{minn}maxn−minn 的值,否则输出 00。

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include<stdio.h>
#include<string.h>
int main()
{
    int n,x;
    char s[120];
    int m[120]={0};
    int i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    int    max=0,min=100,y=-1;
    scanf("%s",s);
    for(j=0;j<strlen(s);j++)
    {
        m[s[j]-96]++;
    }
    for(j=0;j<120;j++)
    {
        if(m[j]>max) max=m[j];
        if(m[j]<min&&m[j]!=0) min=m[j];
    }
    x=max-min;
    if(x==0||x==1) y=1;
    else if(x==2) y=-1;
else
    {
    for(j=2;j<x;j++)
    {
        if(x%2==0)  y=1;
    }
}
    if(y==1) 
    {
    printf("No Answer\n");
    printf("%d\n",x);
    }
    else {
        printf("Lucky Word\n");
        printf("%d\n",x);
    }
    memset(m,0,sizeof(m));
    memset(s,0,sizeof(m));
}
}

运行结果及详细报错内容 样例都对,提交显示runtime error
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

2条回答 默认 最新

  • 流比 2023-02-03 21:59
    关注

    memset(s, 0, sizeof(m)) 中,应该将 sizeof(m) 改为 sizeof(s)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月19日
  • 已采纳回答 2月11日
  • 创建了问题 2月3日

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错