编写程序实现在一个字符串中查找指定的字符(请用c语言作答)

编写程序实现在一个字符串中查找指定的字符,并输出指定的字符在字符串中出现的次数及位置,如果该字符串中不包含指定的字符,请输出提示信息。
1.定义两个一维数组,a字符数组用来存放字符串,b整数数组用来存放指定的字符在字符串中出现的位置(即对应的下标)。
2.定义i,j,m三个循环控制变量和一个标志变量flag,并初始化flag的值为0。
3.用scanf或者gets函数为字符数组赋一个字符串。
4.在循环中对字符数组的每个元素和指定字符ch进行匹配判断,如果相同,就把其下标依次存放在数组b中,并置flag的值为1。
5.循环退出后判断标志变量flag的值,如果仍为0,说明字符串中没出现指定的字符,否则,就输出该字符在字符串中出现的次数和位置。

#include<stdio.h>

int main()

{

int i,index,count;

char a,ch,str[80];

scanf("%c\n",&a);

i=0;

index=-1;

count=0;

ch=getchar();

for(i=0;ch!='\n';i++){

str<i>=ch;

count++;

ch=getchar();

}

for(i=0;i&lt;count;i++)

if(a==str<i>)

index=i;

if(index!=-1)

printf("index=%d",index);

else

printf("Not Found");

return 0;

}

扩展资料:

getchar()用法:

getchar()函数的作用是从计算机终端(一般为键盘)输入一个字符。getchar()函数只能接收一个字符,其函数值就是从输入设备得到的字符。

例:

#include&lt;stdio.h&gt;

int main(void)

{

int c;

/*Note that getchar reads from stdin and

is line buffered;this means it will

not return until you press ENTER.*/

while((c=getchar())!='\n')

printf("%c",c);

return 0;

}

注:可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-20

#include<stdio.h>
#include<string.h>
main()
{   char a[1000],ch;
    int b[1000],i,j,m,flag;
    while(1){
     scanf("%c",&ch);
     getchar();
     gets(a);
     flag=0;j=0;
     for(i=0;i<strlen(a);i++)
        if(a[i]==ch){
            b[j]=i;
            j++;
            flag=1;
   }
if(flag){
printf("%d次\n",j);
for(m=0;m<j;m++)
   printf("%4d",b[m]);
printf("\n\n");
}
else
    printf("没出现指定的字符\n\n");
}
}

如图所示,望采纳。。。。。。

追问

谢谢您的回答,可是输出的位置是b位置啊,不是a的位置

本回答被提问者采纳
第2个回答  2015-12-06

通过for循环依次遍历该字符串,如果存在就输出位置,不存在输出不存在该字符。

参考代码:

#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
char a[N]="hello world!",ch;//初始化字符串 
int i,len,f=1;
scanf("%c",&ch);//输出查找字符 
len=strlen(a);
for(i=0;i<len;i++)//依次遍历字符串,判断是否存在 
if(a[i]==ch){//如果存在,输出位置 
printf("%d\n",i);
f=0;
}
if(f) //不存在输出 
printf("字符串中不存在该字符!\n");
return 0;
}
/*运行结果:
w
6
*/

第3个回答  2020-05-13
/*4.3*/
#include"stdio.h"
int main()
{
/*************************/
char a[1000],ch;
int b[1000],i,j,m;
int flag=0;j=0;
printf("请输入一个字符串:\n");
gets(a);
printf("请输入指定字符:\n");
scanf("%c",&ch);
for(i=0;a[i]!='\0';i++)
{
if(a[i]==ch)
{
b[j]=i;
j++;
flag=1;
}
}
if(flag)
{
printf("%d次\n",j);
for(m=0;m<j;m++)
printf("%4d",b[m]);
}
else
printf("没有出现指定字符\n");
/*************************/
return 0;
}
第4个回答  2014-11-20
#include <stdio.h>
int main()
{
char s[]="this is a test!" ;
char ch;
int i;
scanf("%c", &ch );
while( s[i] )
{
if ( s[i]==ch )
{
printf("%c at %d\n", ch, i+1 );
return 0;
}
i++;
}
printf("%c is not in '%s'\n", ch, s );
return -1;
}

编写程序实现在一个字符串中查找指定的字符(请用c语言作答)_百度知 ...
if(index!=-1)printf("index=%d",index);else printf("Not Found");return 0;}

C语言实现在一个字符串中查找指定的字符,并输出指定字符在字符串中出现...
package com.string.to;import java.util.Arrays;import java.util.Scanner;public class JudeCount{ public static void main(String[]args){ System.out.println("请输入你要判断的字符串:");Scanner s=new Scanner(System.in);String str=s.nextLine();char[]ch=str.toCharArray();Arrays.sort(...

怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出...
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 <= strle...

C语言中在字符串中查找指定字符串
include"stdio.h" #include"string.h" void main() { char *str1="nayitianzhi daoanzd"; char *str2="anz"; int index[20]; int num = 0; int i,j; for (i = 0; i < strlen(str1) - 3; i++) for (j = 0; j < 3; j++) { if (*(str1 + i) == *(str2 + ...

C语言编程:从键盘输入一个字符串,查找指定子串第一次出现的位置。求问题...
flag;\/\/输入一串字符printf("Input a string:");gets(s);\/\/输入想要查找的字符printf("Input another string:");gets(d);\/\/调用函数,输出结果flag=SearchString(s,d);if(flag==-1)printf("Not found!\\n");elseprintf("Searching results:%d\\n",flag);system("pause");...

c语言编写一个程序,实现查找一个字符串中的特定字符,并将其删除._百度...
二、操作过程 三、参考程序 include <stdio.h>#include <string.h>\/* 移除字符串source中的所有ch字符 *\/void remove(char *source, char ch);void main(){char source[1000];char ch;printf("请输入一个字符串:");gets(source);printf("请输入待删除字符:");ch = getchar();remove(...

c语言在字符串中查找指定字符,并输出指定字符在字符串中出现的次数及...
include<string.h> int main(){ char a[80]={"abcdefghijklmnopqrstuvwxyz"},ch;int i,j,m=0,flag=0,b[80],len;len=strlen(a);scanf("%c",&ch); \/\/改成%c。“%s”是字符串输入。ch只是单个字符 for(i=0;i<len;i++)if(ch==a[i]){b[m]=i;m=m+1;flag=1;} if(flag...

C语言查找指定字符从给定字符串中查找某指定的字符纠错?
include <stdio.h>#include <string>int main(){char buff[80] = {};char ch;ch = getchar();getchar();\/\/消除输入的回车fgets(buff, 80, stdin);rewind(stdin);\/\/清空缓冲区for (int i = strlen(buff) - 2\/*减去回车符占的长度1 下标最大值与数组大小的差值1*\/; i >= 0 ; -...

查找字符串中指定字符的位置c语言
C字符串就是字符数组,用指针遍历对比就行了。

一个简单c语言题目,大神求助!在字符串中查找指定字符
1、打开python语言命令窗口,定义字符串变量s1并进行赋值。2、调用字符串中的count方法,查找字符#在s1中出现的次数。3、count()方法除了第一个参数之外,还可以有第二个参数,代表从什么位置开始查找。4、在count方法,还可以添加第三个参数,结束位置,开始位置到结束位置之间。5、如果需要查找的子字符...

相似回答