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

编写一个程序,在已知字符串查找某个字符首次出现的位置,若字符串中没有该字符,给出相应信息。哪位高手能给我答案。要快哦,本人急需。谢谢了。希望能把程序写完整。

#include<stdio.h>
int main(){
int i;
char str[100],key; //key为要查找的字符
printf("请输入一个字符串:");
gets(str); //输入要被的字符串
printf("请输入你要查找的字符:");
scanf("%c",&key); //输入要查找的字符
for(i=0;i<strlen(str);i++)
if(str[i]==key) //寻找字符串中是否存在该字符
{
printf("%c出现的首位置为:%d\n",key,i+1); //找到该字符,打印并跳出循环
break;
}
if(i==strlen(str))
printf("该字符串中没有%c\n",key); //没有找到该字符,打印”没有“
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-16
string txt="你自己的字符串";string txt1=txt.substring(indexOf("的"),1)if(txt1==null){//没有你要查找的字符}else{//有你要的字符}
第2个回答  2013-10-16
#include<stdio.h>
#include<string.h>
#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<strlen(text);i++)
{
if(text[i]==key)
{//查到到第一次出现
printf("the key index is %d\n",i);
break;
}
}
if(i==strlen(text))//遍历之后没找到
printf("can't find\n");
}
第3个回答  2013-10-16
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//找到返回起始位置
相似回答