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

admin2021-02-25  39

问题 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
    例如,若输入字符串:123412132,输入字符为:1,则输出:3。
    注意:部分源程序在文件PROGl.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define M 81
int fun(char*ss,char c)
{
}
main()
{  char a[M],ch;
  void NONO();
  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));
  NONO();
}
void NONO()
{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
  int i;
  FILE*rf,*wf;
  char a[M],b[M],ch;
  rf=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  for(i=0 ; i<10 ; i++){
    fscanf(rf,"%s",a);
    fscanf(rf,"%s",b);
    ch=*b;
    fprintf(wf,"%c=%d\n",ch,fun(a,
ch));
  }
  fclose(rf);
  fclose(wf);
}

选项

答案int cnt=0; char*p=ss; while(*p){ if(*p==c)cnt++; p++; } return cnt;

解析 如果不是串尾就进入while循环,在循环过程中利用if条件表达式判断当前字符是否为指定的字符,如果符合条件,那么对统计计数变量进行加1操作。
转载请注明原文地址:https://jikaoti.com/ti/9Tz0FFFM
0

最新回复(0)