网站建设com,dw网页设计实训心得,网上购物网站建设,线上做网站赚钱第68套#xff1a;
给定程序中#xff0c;函数fun的功能是:求ss所指字符串数组中长度最长的字符串所 在的行下标,作为函数值返回#xff0c;并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串#xff0c;且串长N。 请在程序的下划线处填入正确的内容并…第68套
给定程序中函数fun的功能是:求ss所指字符串数组中长度最长的字符串所 在的行下标,作为函数值返回并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串且串长N。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序 #include stdio.h #define M 5 #define N 20 int fun(char (*ss) 1, int n) { int i, k0, len0; for(i0; iM; i) { lenstrlen(ss[i]); if(i0) n2; if(lenn) { 3; ki; } } return(k); } main() { char ss[M][N]{“shanghai”,“guangzhou”,“beijing”,“tianjing”,“cchongqing”}; int n,k,i; printf(\nThe original strings are :\n); for(i0;iM;i)puts(ss[i]); kfun(ss,n); printf(\nThe length of longest string is : %d\n,n); printf(\nThe longest string is : %s\n,ss[k]); } 解题思路 第一处形参ss的定义它是一个字符串数组的定义其宽度为N所以应填N。 第二处取第一个字符串的长度赋值给变量n所以应填len。 第三处每循环一次判断当前字符串的长度是否大于n如果大于则nlen。 给定程序MODI1.C中 fun 函数的功能是: 根据形参m计算如下公式的值。 1 1 1 1 t 1 ----- ±---- ----- …… ----- 2 3 4 m 例如若输入 5则应输出 2.283333。 请改正程序中的错误或在下划线处填上适当的内容并把下划线删除, 使它能计算出正确的结果。 注意不要改动 main 函数不得增行或删行也不得更改程序的结构 给定源程序 #include stdio.h double fun( int m ) { double t 1.0; int i; for( i 2; i m; i ) t 1.0/k; } main() { int m; printf( “\nPlease enter 1 integer number:” ); scanf( “%d”, m ); printf( “\nThe result is %lf\n”, fun( m ) ); } 解题思路 第一处在此变量k没有定义过再根据公式和for循环语句中所用的变量可知这里的k实际上是i。 第二处应是返回公式的值函数中公式的值是存放在临时变量t中所以应填return t;。 编写一个函数该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如假定输入的字符串为: asd asasdfg asd as zx67 asd mklo,子字符串为:as则应输出6。 注意部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。 给定源程序 #include stdio.h #include string.h int fun(char *str,char *substr) { } main() { char str[81],substr[3]; int n; printf(输入主字符串: ); gets(str); printf(输入子字符串: ); gets(substr); puts(str); puts(substr); nfun(str,substr); printf(“n%d\n”,n); NONO(); } 解题思路 本题是统计一个字符串在另一个字符串中出现的次数。 程序流程如下
利用strstr函数首先找到第一个出现的位置。利用while循环和strstr依次查找所有出现的位置并进行统计并把统计结果作为函 数值返回。 strstr(const char *s1, const char *s2)是字符串s2在s1中出现的位置如果找到则返回位置指针。 参考答案 int fun(char *str,char *substr) { int cnt 0 ; char *p str, *q ; while(*p) { q strstr(p, substr) ; if(q NULL) break; p q strlen(substr) ; cnt ; } return cnt ; } main() { char str[81],substr[3]; int n; printf(输入主字符串: ); gets(str); printf(输入子字符串: ); gets(substr); puts(str); puts(substr); nfun(str,substr); printf(“n%d\n”,n); NONO(); }