C语言中怎样用“百分比”来匹配字符串?比如执行一个功能的命令是abcd,但是用户可能会输入abce

C语言中怎样用“百分比”来匹配字符串?比如执行一个功能的命令是abcd,但是用户可能会输入abce,这时输入命令与标准命令的匹配度是75%,但如果用if语句的话系统就会认为这一点儿也不匹配,我想问怎样设置匹配度?比如匹配75%就算完全匹配

可以用比对字符函数对每一个字符进行比对,对返回1错误返回0病并将结果全部加到一个变量中,啊事先应该知道命令字符数目,例:预定义命令为abcd,计算数目为4并存储。然后用户输入命令abce,与预定义命令匹配相同数目为3,然后printf("%d"%%,匹配数目);就行啦,纯属个人愚见,是个奔方法,自知不如,只希望楼主受到启发,代码自己想~忘采纳~~~
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-24
可以逐个字符匹配,匹配数/总数
如果是这种情况就不简单了:abcd 如果输入eabc,那么匹配度就为0本回答被网友采纳

C语言中怎样用“百分比”来匹配字符串?比如执行一个功能的命令是abcd...
可以用比对字符函数对每一个字符进行比对,对返回1错误返回0病并将结果全部加到一个变量中,啊事先应该知道命令字符数目,例:预定义命令为abcd,计算数目为4并存储。然后用户输入命令abce,与预定义命令匹配相同数目为3,然后printf("%d"%%,匹配数目);就行啦,纯属个人愚见,是个奔方法,自知不如,...

C语言怎样用%s输出字符串?
使用格式化输出语句printf即可。1 头文件:stdio.h 2 声明:int printf(char *format_string, ...);3 功能:根据format_string格式,输出后续变量。4 用于输出字符串。用%s可以输出字符串。在format_string使用%s,后续对应位置上使用要输出的字符串变量名即可。比如要输出char str[100] = "test st...

有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下...
这个程序不错的:include<stdio.h> void main(void){ char ch[]="ABCD";int i,j,k,n=4;int m=0;for(j=0;j<n;j++){ for(k=0;k<n;k++){ for(i=0;i<n;i++){ if(i!=j&&j!=k&&i!=k){ printf("%c%c%c\\n",ch[j],ch[k],ch[i]);m++;} } } } printf("=...

用C语言编写程序 用键盘输入字符串 abcd 程序则输出: hello.abcd 应该...
main(int argc, char *argv[]){ char tmp[512];memset(tmp, 0, sizeof(tmp));printf("请输入:\\n");scanf("%s", tmp);printf("输出结果是: hello.%s\\n", tmp);}

c语言中,输入abcd,123, abc,输出abc123
abc 123 但是如果先输入字符串再输入数字,比如用scanf("%s,%d",s,&v);的格式,系统会出错。2 如果需求必须是先输入字符串后输入数字,那么必须人工进行判断。思路为用getchar逐个读入字符,并赋值到字符串对应位置,当出现逗号时结束。然后再用scanf读入数字。代码如下:include <stdio.h>int main(...

C语言题 请求师傅们解答
fun (char *a) \/\/ { if ( *a ){ fun(a+1) ;printf("%c", *a) ; \/\/ } } main( ){ char s[10]="abcd";printf("处理前字符串=%s\\n处理后字符串=", s);fun(s); printf("\\n") ;} 第二题 char *a,*b;a=s;b=t;while(*a&&*b){ a++;b++;if(!*b) return ...

C语言中%s输出字符串怎么用?
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char *a = "hello";printf("%s", a); 。3、编译器运行test.cpp文件,此时成功通过%s输出了字符串。

c语言字符串替换,例如将abcdabac中的ab替换为xyz
include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char str1[1000] = { 0 }, str2[100] = { 0 }, str3[100] = { 0 };\/\/字符串1串长最大数值为999字节,字符串2、3串长最大数值为99 scanf("%s%s%s", str1,str2,str3); char temp[100] = { ...

C语言密码问题:设定四位密码如ABCD,要求检验用户的输入,如果和密码不...
代码如下,测试通过 void main (void){ char pwd[] = "ABCD";char newPwd[100] = "";int i;while(true){ printf("Input password:");scanf("%s", newPwd);for(i=0;i<4;i++){ if(pwd[i] != newPwd[i])break;} if(pwd[i] == '\\0' && newPwd[i] == '\\0'){ printf...

在C语言中“%c%c\\n”和“%d%d\\n“分别说明什么。。。??
c%c\\n和%d%d\\n出现在输出语句中具有如下意义:c%c\\n表示输出两个字符数据,%d%d\\n表示输出两个十进制整型数据。并且输出的数据是紧挨着的,如果想分开点,可以增加宽度,比如"%5d"就是按照5的宽度输出一个整型数据,或者在两个格式符中间加上空格,逗号,等其他字符也可以,比如"%d,%d"。

相似回答