编写一个程序,在已知字符串查找某个字符首次出现的位置,若字符串中没有该字符,给出相应信息。

2024-12-01 11:17:19
推荐回答(4个)
回答1:

#include
int main(){
int i;
char str[100],key; //key为要查找的字符
printf("请输入一个字符串:");
gets(str); //输入要被的字符串
printf("请输入你要查找的字符:");
scanf("%c",&key); //输入要查找的字符
for(i=0;i if(str[i]==key) //寻找字符串中是否存在该字符
{
printf("%c出现的首位置为:%d\n",key,i+1); //找到该字符,打印并跳出循环
break;
}
if(i==strlen(str))
printf("该字符串中没有%c\n",key); //没有找到该字符,打印”没有“
return 0;
}

回答2:

string txt="你自己的字符串";string txt1=txt.substring(indexOf("的"),1)if(txt1==null){//没有你要查找的字符}else{//有你要的字符}

回答3:

#include
#include
#define OK 1
#define FALSE 0
#define MAX_LENGTH 100 //默认长度
int main()
{
int i;
char text[MAX_LENGTH];//输入的字符串
char key;//查找的关键字
gets(text);
scanf("%c",&key);
for(i=0;i {
if(text[i]==key)
{//查到到第一次出现
printf("the key index is %d\n",i);
break;
}
}
if(i==strlen(text))//遍历之后没找到
printf("can't find\n");
}

回答4:

int SerchStr(char *strChild,char *strParent)
{
assert(strChild != NULL && strChild != NULL);
int childLen = strlen(strChild);
int parentLen = strlen(strParent);
int i,j; for (i=0; i<=parentLen-childLen; i++)
{
j = 0;
while(strChild[j] == strParent[i+j])
{
if (strParent[i+j] == '\0')
{
break;
}
j++;
}; if(j == childLen)
{
return i;
}
}
return -1;
}//找不到返回-1//找到返回起始位置