tc20-3.c

来自「关于学习C语言的电子书籍」· C语言 代码 · 共 52 行

C
52
字号
/*****************
	tc20-3.c
   字符串查询
******************/

#include "stdio.h"
int strchk(char s1[],char s2[]);
main( )
{
	int n,i,f=0;							/*设置f为查找标志*/
	char s1[10][10]={"William","Sean","Brian","Tom","John","Jone",
				"Brown","White","Alice","Peter"};
	char s2[10];
	printf("      字符串查询\n\n");
	printf("输入姓名:");
	scanf("%s",&s2);
	for(i=0;i<10;i++)
	{
		n=strchk(s1[i],s2);				/*调用函数比较字符串是否相等*/
		if(n==0)
		{	
			printf("%s\n",s1[i]);
			f=1;						/*修改查找标志*/
		}
	}
	if(f==0)							/*检查查找标志*/
		printf("找不到相关信息!\n");
}

int strchk(char s1[],char s2[])				/*字符串模糊查询函数*/
{
	int i;
	char c1,c2;
	for(i=0;;i++)						/*无条件表达式的for循环*/
	{	
		c1=s1[i];
		c2=s2[i];
		if(c1>='A'&&c1<='Z')				/*将大写字母转为小写*/
			c1=c1-'A'+'a';		
		if(c2>='A'&&c2<='Z')		 
			c2=c2-'A'+'a';		
		if(c1!=c2||c1=='\0'||c2=='\0')			/*字符不等或已到字符串尾则退出*/
			break;
	}
	if(c1=='\0'||c2=='\0')					/*如果字符串已到末尾则返回0*/
		return 0;
	else if(c1>c2)						/*如果字符串未到末尾则比较字符大小*/
			return 1;
		else
			return -1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?