C语言题目,求思路求指导我需要编一个程序给两个Txt文档 一个内容是 4乘4的英文字母矩阵,另一个是一个dic字典文件要求程序能够找出字母矩阵中所有可以组成的单词(类似Ruzzle游戏),相邻

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 11:44:03

C语言题目,求思路求指导我需要编一个程序给两个Txt文档 一个内容是 4乘4的英文字母矩阵,另一个是一个dic字典文件要求程序能够找出字母矩阵中所有可以组成的单词(类似Ruzzle游戏),相邻
C语言题目,求思路求指导
我需要编一个程序
给两个Txt文档 一个内容是 4乘4的英文字母矩阵,另一个是一个dic字典文件
要求程序能够找出字母矩阵中所有可以组成的单词(类似Ruzzle游戏),相邻的字母可以连接组成单词(上下左右 左上左下右上右下 8个方向)是否为有效单词要通过跟词典文件比较

C语言题目,求思路求指导我需要编一个程序给两个Txt文档 一个内容是 4乘4的英文字母矩阵,另一个是一个dic字典文件要求程序能够找出字母矩阵中所有可以组成的单词(类似Ruzzle游戏),相邻
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 400000
#define L 6
#define BUFF_LEN 150
void insert(char *s);
int find(char *s);
int num=0,root=0,cid=0;
struct Trie
{
    int id;
    int cnt;
    int next[27];
}tree[N];
int main()
{
    FILE *fp1;
    int i,sl,word_num,cur_num;
    char s[BUFF_LEN],d[L]={'a','b','a','c','o','\0'};
    fp1=fopen("dic.txt","r");
    if(fp1==NULL)
        exit(1);
    fscanf(fp1,"%d\n",&word_num);
    for(i=0;i<27;i++)
        tree[0].next[i]=0;
    cur_num = 0;
    while(fgets(s,BUFF_LEN,fp1) != NULL)
    {
        //printf("%s %d\n",str,strlen(str));
        for(i=0;i < BUFF_LEN;i++)
            if(s[i] >= 'A' && s[i] <= 'Z')
                s[i] = s[i]+32;
        for(i=0;i < BUFF_LEN;i++)
            if(s[i] == '\n'){
                s[i] = '\0';
                break;
            }
        //printf("tag1\n");
        s[BUFF_LEN-1] = '\n';
        for(sl=0;sl<strlen(s);sl++)
            if(s[sl]=='/' || s[sl] == '?'){
                s[sl] = '\0';
                break;
            }
        if(strlen(s)==0)
            continue;
        s[sl]='\0';
        //printf("tag2\n");
        //printf("%s %d\n",str,strlen(str));
        insert(s);
        printf("%d : %s %d\n",cur_num++,s,strlen(s));
    }
    fclose(fp1);
    printf("occur times of d: %d\n",find(d));
    return 0;
}
void insert(char *s)
{
    int t,i,rt=root;
    //printf("%s\n",s);
    while(*s)
    {
       // printf("%c\n",*s);
        t=(int)(*s-'a');
        if(tree[rt].next[t]==0)
        {
            num++;
            for(i=0;i<27;i++)
                tree[num].next[i]=0;
            tree[rt].next[t]=num;
        }
        rt=tree[rt].next[t];
        tree[rt].cnt++;
        s++;
    }
    tree[rt].id=++cid;
}
int find(char *s)
{
    int t,rt=root;
    while(*s)
    {
        t=*s-'a';
        rt=tree[rt].next[t];
        if(rt==0)return 0;
        s++;
    }
    return tree[rt].cnt;
}

C语言题目,求思路求指导我需要编一个程序给两个Txt文档 一个内容是 4乘4的英文字母矩阵,另一个是一个dic字典文件要求程序能够找出字母矩阵中所有可以组成的单词(类似Ruzzle游戏),相邻 谁帮我用C语言编一个程序求任意圆的面积? 编一个C语言程序--求f(x)在a,b上的定积分 编一个求s=1+1/(2*2)+.+1/(n*n)的c语言程序 用c语言编一个程序,求1+2+3+……100的和. 用C语言编一个程序:任意给定一个大于1的正整数,求它的所有因数 C语言题目,求高手解答我需要正确答案 谢谢 用C编一个求最大公约数和最小公倍数的程序! C语言求指导啊, 求一个c语言程序 题目是 0到100的和 求c语言程序 要求是输入一个数字能得到它是几位数字 但是这个数字要求是十位数字以上的因为我编了一个程序 只能用于不大于十位数字的情况 求高手编一个简单的公式的C语言程序.公式在问题补充里.y=x1(1+x2)(1+x3),其中x1、x2、x3是随着变量x0变化的固定值,x0、x1、x2、x3都需要手动输入求y...求高手编一个程序当输入x0、x1、x2、x3 我有需要求一个函数的值,但是函数中有一个虚数i,我该怎么用C语言编写求函数值的程序 求个C语言综合实验设计报告,包括设计题目,题目阐述及设计思路,主要知识点,程序清单,设计结果优缺点 谁能帮我编一个C语言程序?任意输入两个整数,输出它们的最大公约数 我学的c语言,编了一个程序号出现了这些英文, C语言求1000以内第二大的素数编程序哈. 求设计c语言程序