更多"若字符串s的长度为n(n>1)且其中的字符互不相同,则s的长度为2的子"的相关试题:
[简答题]函数fun( )的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。例如,当s所指字符串中的内容为”abcdabfab”,t所指字符串的内容为”ab”,则函数返回整数3。
请改正程序中的错误,使它能得出正确的结果。
#include <stdio.h>
#include <string.h>
int fun(char *s,char *t)
int n;char *p,*r;
n=0;
while(*s)
p=s;r=t;
while(*r)
if(*r==*p)
/**********found**********/
r++;p++
else break;
/**********found**********/
if(r==’/0’)
n++;
s++;
return n;
main( )
char s[100],t[100];int m;
printf("/nPlease enter string S:");scanf("%s",s);
printf("/nPlease enter substring t:");scanf("%s",t);
m=fun(s,t);
printf("/nThe result is:m=%d/n",m);
[单项选择]
对于求取两个长度为n的字符串的最长公共子序列(LCS)问题,利用 (35) 策略可以有效地避免子串最长公共子序列的重复计算,得到时间复杂度为O(n2)的正确算法。串<1,0,0,1,0,1,0,1>和<0,1,0,1,1,0,1,1>的最长公共子序列的长度为 (36) 。
(35)处填()。
A. 分治
B. 贪心
C. 动态规划
D. 分支限界
[填空题]在串S=“information”中,以I为首字符的子串有 ______ 个。
[填空题]str是全部由小写字母字符和空格字符组成的字符串,由 num传入字符串的长度。请补充函数fun( ),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。
例如:str=“how do you do”,结果为:num=4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(char *s,int *num)
int i,n=0;
for(i=0; 【1】 ;i++)
if(s[i]>=’a’,&&s[i]<=’z’,&&(s[i+1)==’ ’||s[i+1]==’/0’))
【2】 ;
【3】 ;
main( )
char str[N];
int num=0;
printf("Enter a string:/n");
gets(str);
while(str[num])
num++;
fun(str,&num);
printf("The number of word is:
%d/n/n",num);
[填空题]给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长小于N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#defineM 5
#defineN 20
void fun (char (*ss)[N])
inti, j, k=0, n, m, len;
for(i=0; i<M; i++)
len=strlen(ss[i]);
if(i==0)n=len;
if (len>n)
/******************found*******************/
n=len; (1) =i;
for(i=0; i<M; i++)
if(if=k)
m=n;
len=strlen(ss[i]);
/******************found*******************/
for (j= (2) ; j>=0; j--)
ss[i][m--]=ss[i][j];
for (j=0; j<n-len; j++)
/******************found*******************/
(3) =’*’;
main( )
char ss[M][N]="shanghai", "guangzhou",
"beijing", "tianjin", "chongqing");
int i;
printf("/nThe original strings are:/n");
for(i=0; i<M; i++)
[填空题]在给定程序中,函数fun的功能是:求出形参SS所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长<N。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#define M 5
#define N 20
void fun(char( *ss)[N])
int i,j,k=0,n,m,len;
for(i=0;i<M;i++)
len=strlen(ss[i]);
if(i==0)n=len:
if(len>n)
/**********found**********/
n=len;
(1) =i;
for(i=0;i<M;i++)
if(i!=k)
m=n:
len=strlen(ss[i]);
/***********found***********/
for(j= (2) ;j>=0;j--)ss[i][m--]=ss[i][j];
for(j=0;j<n-len;j++)
/**********found**********/
(3) =’*’:
void main( )
char ss[M][N]="shanghai","guangzhou","beijing","tianjing","cchongqing";
int i;
printf("/nThe original strings are: /n");
for(i=0;i<M;i++)printf("%s/n",ss[i]);
printf("/n");
fun(ss);
printf("/nThe resuh
[填空题]给定程序中,函数fun( )的功能是求ss所指字符数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符数组中共有M个字符串,且串长<N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
#include<string.h>
#define M 5
#define N 20
int fun(char(*ss)[N],int *n)
int i,k=0,len=N;
/**********found**********/
for(i=0;i< (1) ;i++)
len=strlen(ss[i]);
if(i==0)*n=len;
/**********found**********/
if(len (2) *n)
*n=len;
k=i;
/**********found**********/
return (3) ;
main( )
char ss[M][N]="shanghai",
"guangzhou","beijing","tianjing","chongqing";
int n,k,i;
printf("/nThe original strings are:/n");
for(i=0;i<M;i++)puts(ss[i]);
k=fun(ss,&n);
printf("/nThe length of shortest string is:%d/n",n);
printf("/nThe shortest string is:%s/n",ss[k]);
[单项选择]返回一个由字符表达式的第1个字符重复组成的指定长度为数值表达式值的字符串的函数为
A. Space
B. Striog
C. Left
D. Right
[填空题]以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。
strcen(char aC), char b[])
int num=0,n=0;
while(*(a+num)!= 【14】 ) num++;
while(b[n])*(a+num)=b[n]; num++; 【15】 ;)
return(num);