编写函数fun(),该函数的功能是从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。 例如:程序执行时输入字符串为turbo c and borland c++,从键盘上输入字符n,则输出后变为turbo c ad borlad c++。

admin2009-01-15  25

问题 编写函数fun(),该函数的功能是从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。
   例如:程序执行时输入字符串为turbo c and borland c++,从键盘上输入字符n,则输出后变为turbo c ad borlad  c++。
   如果输入的字符在字符串中不存在,则字符串照原样输出。
   注意:部分源程序已存在文件test18_2.cpp中。
   请勿改动主函数脚in和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   文件test18_2.cpp的内容如下:
      #include<stdio.h>
      #include<iostream.h>
      #include<conio.h>
      void fun(char s[ ], int c)
      {
      }
      void main ( )
      {
      static char str[ ]="turbo c and borland c++";
      char ch;
      cout<<"原始字符串:\n"<<str<<end1;
      cout<<"输入一个字符:";
      cin>>ch;
      fun(str.ch);
      cout<<"str="<<str<<end1;
      }

选项

答案void fun(char s[], int c) { int i=0; char *p; p=s; while( *p) {if( *p!=c) {s[i]=*p; i++; } p++; } s[i]=’\0’; }

解析 本题考查用字符指针来控制字符数组中的元素。指针p初始化时应指向字符数组的首地址s,之后利用p逐个取得数组中的元素,然后用取得的字符逐个与要删除的字符进行比较,如果二者相同,则跳过该字符,去取下一个数组元素,这样最终得到的字符串中就把要删除的字符去掉了。最后不要忘记要手动地加上一个字符串结束标记‘\0’。
转载请注明原文地址:https://jikaoti.com/ti/PYkiFFFM
0

最新回复(0)