请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花

admin2010-05-05  21

问题 请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
   例如,若输入字符串123412132,输入字符1,则输出3。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
   #include<coio.h>
   #include<stdio.h>
   #define M 81
   int fun(char *ss,char c)
   {

   }
   main()
   { char a[M],ch;
   clrscr();
   printf("\nPlease enter a string:");
       gets(a);
   printf("\nPlease enter a char:");
       ch=getchar();
   printf("\nThe number of the char is:%d \n",fun(a,ch));
   }

选项

答案int fun(char *ss,char c) { int i=0; for (;*ss!=’\0’;ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; }

解析 从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历:若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若“串的字符和c串的字符不对应相同,则继续对,s串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,若与c相同则表示又出现一次.
转载请注明原文地址:https://kaotiyun.com/show/CXID777K
0

相关试题推荐
最新回复(0)