籽寒12 2024-01-27 20:21 采纳率: 33.3%
浏览 34

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

超时,并且100分只对40

#include <stdio.h>
#include <string.h>
#define max 100000
int main()
{
    char str[max];
    gets(str);
    
    int n=strlen(str);
    int i,j;
    int s=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if((str[i]==str[j])&&(i!=j))
            {
                s=1;
            }
        }
        if(s==0)
        {
            putchar(str[i]);
            return 0;
        }    
        s=0;
    }
    printf("no");
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 浪客 2024-01-27 20:46
    关注

    可以考虑用结构体

    typedef struct word
    {
        int inx;   // 首次出现位置
        char ch;   // 字母
        int count; // 出现次数
    } Word;
    
    

    只包含小写字母,定义个26个元素的数组就够用了,用getcahr输入时判断出现次数和首次出现位置,最后遍历这个数字就行了。。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月27日

悬赏问题

  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥15 怎么做商品窗体,完完全全不会
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 铜与钢双金属板叠加在一起每种材料300mm长,18mm宽,4mm厚一端固定并加热至80℃,当加热端温度保持不变时另一端的稳态温度。ansys
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥20 bash代码推送不上去 git fetch origin master #失败了