问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言程序算法

发布网友 发布时间:2022-06-13 02:22

我来回答

2个回答

热心网友 时间:2023-10-11 07:20

#include <stdio.h>
char * dict[]={
"bland",
"blank",
"bleak",
"bleed",
"blend",
"blind",
"blink",
"blond",
"blood",
"bloom",
"blown",
"blows",
"brand",
"brank",
"bread",
"break",
"bream",
"breed",
"brown",
"clank",
"clink",
"dread",
"dream"
};

#define MAX_DICT 23
checkin(char * input){
int i;
for(i=0;i<MAX_DICT;i++)
{
if(strcmp(input,dict[i])==0)return i;
}
return -1;
}
getNext(char * input,int count,int indexes[])
{
int i,j,len,dest,k,cc;
char new[100];
len=strlen(input);
for(i=0;i<len;i++)
{
strcpy(new,input);
for(j=0;j<26;j++)
{
new[i]='a'+j;
cc=0;
for(k=0;k<count;k++){
if(strcmp(dict[indexes[k]],new)==0){
cc=1;
break;
}
}
if(cc==1)continue;//已经变换过
dest=checkin(new);
if(dest>=0)return dest;//找到可以变换的词
}
}
return -1;//没有可以变换的词
}
main(){
char input[100],new[100],output[100],road[1024];
int index,i,j,dest,count,indexes[MAX_DICT];
strcpy(input,"");
while(strcpy(input,"quit")!=0)
{
printf("请输入变换字符串:");
scanf("%s",input);
if(strcmp(input,"quit")==0)break;
printf("请输入目标字符串:");
scanf("%s",output);
if(strcmp(output,"quit")==0)break;
index=checkin(output);
if(index<0){
printf("%s 不在字典里!\n",output);
continue;
}
index=checkin(input);
if(index<0){
printf("%s 不在字典里!\n",input);
continue;
}
strcpy(road,"");
strcpy(new,input);
count=0;
indexes[count]=index;
count++;
while(1)
{
dest=-1;
dest=getNext(new,count,indexes);
if(dest<0){
printf("不存在变换系列\n");
break;
}
else if(strcmp(dict[dest],output)==0){//找到目标字符串
printf("%s,%s%s\n",input,road,output);
break;
}
else{//变换过程,如果成功变换则输出
strcat(road,dict[dest]);
strcat(road,",");
strcpy(new,dict[dest]);
indexes[count]=dest;
count++;
}
}
}
}

热心网友 时间:2023-10-11 07:21

一共就5个字符,5层遍历循环就可以实现所有的分类,然后判断就行了。不过效率嘛。。。肯定是最差的。
如果要考虑效率最优的话,那么你给的分太少了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵玉平名家论坛 赵玉平人物经历 杭州市汽车西站 现在能提前几天售票啊? 请问杭州西站汽车票可以提前几天买? 杭州汽车西站在节假日的时候需要提前买票的吗 散步有助于减肥吗 魑瑟忝箜莫尘读什么 端午送什么 端午节家里要摆放什么东西 龙舟是如何制作的? 用c语言编写一算法 梦到鬼 镜子 厕所 鱼缸 新年好,求大师解梦,谢谢.梦到神像和镜子掉破了。 梦见镜子掉厕所了还沾上屎 江苏省二本公办大学排名及分数线 番薯叶炒猪肝有什么功效? 周易黄历按生辰八字帮忙起下名,2013年10月9号,16点15.男孩姓游 2014年10月9号黄历万年历 求2009年9、10月黄历结婚吉日 今年10月9号结婚好不好 ...女 77年10月9日 新家门朝东 请懂黄历的师傅给我们挑个日子 求黄历2011年结婚黄道吉日,男1985年6月28日,女1984年10月9日(均为... 用显微镜观察番茄果肉细胞临时装片的同一部位时,选择以下哪一组合视野内看到的细胞数目最多?(  ) 显微镜下洋葱和番茄有液泡吗 观察番茄果肉细胞实验报告刮番茄刮哪里 番茄再显微镜下是什么样子 广州骨科有哪些医院 广东省建设项目社会监理管理规定(1997修正) 仓库稻谷有点发热怎么办? 关于~甘孜州公安特警~的问题??? ...,为何离职率那么高?甚至很多人去考公务员? 新款大切价格??!! 年底大放水最高额度6万。额度秒到,即下即用最长36天免息? 信用卡放水是什么意思? 快到春节了招商银行信用卡申请是否放水下卡通过高呢 韩国国立中央图书馆的概况 梦见打雷下大雨房子瑶谎 冒泡排序的C++代码 iQOO 8 Pro的天线? 有图慎入,有图慎入 look是什么系动词 怎么判断look是实义动词还是系动词? look是系动词还是实义动词 橡胶水在废纸脱墨中起作用吗? 疯狂动物园河马吃什么 一个鸡蛋最多有几个蛋黄 鸡蛋里有几个蛋黄? 老公大三阳肝功能不正常, 肝功能异常吃什么好呢? 乙肝大三阳患者,肝功能异常需要吃抗病毒药吗 ps里怎么把下面的图无缝拼接起来 要上下左右都对的上 讲详细点