编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
函数的功能是
A.统计并返回字符串ch中字符的个数
B.删除字符串ch中的空格符,返回删除字符的个数
C.统计并返回字符串ch中非空格字符数
D.删除字符串ch中除空格符外的其他字符,返回删除字符的个数
注意:部分源程序在文件PROCl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数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;
}
例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仪在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <conio.h>
void fun (char *a;int n ,int h ,int e)
{
}
main ()
{
char s [81],*t,*f;
int m=0,tn=0, fn=0;
printf("Enter a string :\n");
gets (s);
t=f=s;
while (*t)
{t++;m++; } /*m为字符串的长度*/
t--; /*指针t指身字符串尾部*/
while (*t=='*')
{t--; tn++; }
/*指针t指向最后一个字母,tn统计尾部'*'的个数*/
while (*f=='*' )
{f++;fn++;}
/*指针f指向第一个字母,tn统计导'*'的个数*/
fun(s, m, fn, tn);
printf ("The string after deleted: \n");
puts (s);
}