怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出他第一次

怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出他第一次

#include<stdio.h>
#include<string>

void main()
{
char a[20],c; //a[20]为字符串,c为要查找字符
int i,n[5],num = 0,j = 0; //i,j为计数器,n[5]纪录下标,num记录个数
printf("请输入字符串(少于20个字符)\n");
gets(a);
printf("请输入要查找字符:");
scanf("%c",&c);
for(i = 0;i <= strlen(a);i ++)
{
if(a[i] == c)
{
n[j++] = i;
num++;
}
}
if(num == 0)
printf("没有您要查找的字符\n");
else
printf("您要查找的字符第一次出现的位置是:%d。\n",n[0]+1);

}

有看不懂的地方给我信息就行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-19
main()
{
char a[10],c;
int i;
printf("请输入字符串");
scanf("%s",a);
for(i=0;i<10;i++)
if (a[i]==c)
{printf("%c在字符串中是第%d个字符",c,i);
break;}
if (i==10)
printf("字符串中没有此数据");
}
第2个回答  2010-06-19
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//查找函数
int serch(char ch,char p[]){

int i=-1;
int n=strlen(p);
while(++i<n){

if(ch==p[i])break;

}
if(i>n)i=-1;
return i;

}
void main(){
char str[100];
char ch;
int i;
printf("请输入字符串!\n");
scanf("%s",str);
printf("请输入想查找的字符!\n");
ch=getch();
i=serch(ch,str);

if(i>=0)
printf("字符在字符串中的下标为:%d",i);
else
printf("字符串中没有想要查找的字符!\n");
getch();

}
第3个回答  推荐于2018-03-14
//---------------------------------------------------------------------------

#include <stdio.h>

int search(const char *a,const char b)
{
int i;
for (i = 0; a[i]; i++)
if (a[i]==b) return i;

return -1;
}
int main(int argc, char* argv[])
{
char str[80],sc;
int ix;
printf("请输入一个字符串:\n");
scanf("%79s",str);
printf("请输入一个要查找的字符:\n");
fflush(stdin);
sc=getchar();
(ix=search(str,sc))==-1?printf("字符%c不存在!\n",sc):printf("字符%c首次出现的下标是%d\n",sc,ix);
return 0;
}
//---------------------------------------------------------------------------本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网