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

admin2013-04-02  17

问题 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
    例如,若输入字符串:123412132,输入字符为:1,则输出:3。
    注意:部分源程序在文件PROGI.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/Xnn0FFFM
0

最新回复(0)