返回:贺老师课程教学链接
1、编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。请将下面的程序补充完整。
2、有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入a表示要删去所有的 a字符)。请补充完整下面的程序。
3、以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填空使程序完整。
4、下面的str_count函数计算串substring在母串string中出现的次数,并将次数返回。
[参考解答](倒着看,就是不想让你舒舒服服地直接得到解答,真心希望你能有自己的解答。)
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void fltj(char str[], int a[])
{int ll,i;ll=___(1)____for (i=0; i<ll; i++){if (___(2)____) a[0]++;else if (___(3)____) a[1]++;else if (___(4)____) a[2]++;else a[3]++;}
}
int main()
{static char str[60];static int a[4]= {0,0,0,0};gets(str);fltj(str,a);printf("%s char:%d digit:%d space:%d other:%d",str,a[0],a[1],a[2],a[3]);return 0;
}
2、有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入a表示要删去所有的 a字符)。请补充完整下面的程序。
#include<stdio.h>
int main()
{/*str1表示原来的一行文字,str2表示删除指定字符后的文字*/char str1[100],str2[100];char ch;int i=0,k=0;printf("please input an sentence:\n");gets(str1);scanf("%c",&ch);for (i=0; ___(1)____; i++)if (str1[i]!=ch){str2[___(2)____]=str1[i]; k++;}str2[___(3)____]='\0';printf("\n%s\n",str2);return 0;
}
3、以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填空使程序完整。
#include<stdio.h>
int main ( )
{char a[40]="Great ", b[ ]="Wall";int i=0,j=0 ;while (a[i]!='\0')i++ ;while (____(1)____){a[i]=b[j] ;i++ ;j++ ;}____(2)____;printf("%s\n",a);return 0;
}
4、下面的str_count函数计算串substring在母串string中出现的次数,并将次数返回。
#include<stdio.h>
#include<string.h>
int str_count(char *string, char *substring)
{int i,j,k;int count=0;for (i=0; ____(1)____; i++){for (j=i,k=0; ____(2)____; k++,j++);if (____(3)____)count++;}return count;
}
int main ( )
{char s1[]="This is a word \'iscaspe\'. No, is \'escape\'";char s2[]="is";printf("%d\n", str_count(s1, s2));return 0;
}
[参考解答](倒着看,就是不想让你舒舒服服地直接得到解答,真心希望你能有自己的解答。)