更多"若有两个字符串str 1=“98765”,str 2=“65”,执行s"的相关试题:
[单项选择]若有两个字符串str 1="98765",str2="65",执行s=Instr(str1,str2)后,返回 ( )。
A. 3
B. 4
C. 5
D. 6
[填空题]
以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为:Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char *fun(char *str, char c)
{int n=0;char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!=’/0’) n++;
if(p[n]=’/0’) return NULL;
return(());
}
[填空题]下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2,并将替换后的新串存于字符数组s2中。
#include<stdio. h>
void replace(s1,s2,str1,str2)
char *s1,*s2,*str1,*str2;
char *t0,*t1,*t2,*x,*y;
x=s1;y=s2;
while( 【8】 )
for(t0=s1,t1=str1; ((*t1!=’/O’&& 【9】 ;t0++,t1++);
if(*t1!=’/0’) *s2++= 【10】 ;
else
for(t1=str2;*t1!=’/0’;) *s2++= 【11】 ;
【12】 ;
*s2=’/0’;
main ( )
static char s1[]="abcdef ababcd abab.",s2125];
replace (s1, s2, "abc", "XYZ");
printf("%s/n",s2);
[填空题]若有定义语句:char str[] = "0";,则字符串str在内在中实际占 [13] 字节。
[填空题]以下函数 fun 的功能是返回 str 所指字符串中以形参 c 中字符开头的后续字符串的首 地址,例如:str 所指字符串为:Hello!,c 中的字符为 e,则函数返回字符串:ello!的首地址。若 str 所指字符串为空串或不包含 c 中的字符,则函数返回 NULL。请填空。
char *fun(char *str, char c)
{ int n=0;char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!= ’’/0’’) n++;
if(p[n]== ’’/0’’) return NULL;
return( _________);
}
[填空题]请补充函数fun( ),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“you do”,结果输出:How do you do
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 40
void fun(char *str1,char *str2)
int i=0;
char *p1=str1;
char *p2=str2;
while( 【1】 )
i++;
for( ; 【2】 ;i++)
*(p1+i)= 【3】 ;
*(p1+i)=’/0’;
main( )
char str1[N],str2[N);
clrscr( );
printf("*****Input the string str1 & str2*****/n");
printf("/nstr1:");
gets(str1);
printf("/nstr2:");
gets(str2);
printf("**The string str1 & str2**/n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*****The new string *****/n");
puts(str1);
[填空题]若有定义语句:char str[]="0";,则字符串str在内存中实际占______字节。
[填空题]请补充函数fun( ),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如:str1=“How do”,str2=“od uoy”,结果输出:“How do you do”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 40
void fun(char *str1,char *str2)
{
int i=0,j=0,k=0,n;
char ch;
char *p1=str1;
char *p2=str2;
while(*(p1+i))
i++;
while(*(p2+j))
j++;
n= 【1】 ;
for(;k=j/2;k++,j--)
{
ch=*(p2+k);
*(p2+k)=*(p2+j);
*(p2+j)=ch;
}
【2】 ;
for(; 【3】 ;i++)
*(p1+i)=*p2++;
*(p1+i)=’/0’;
}
main( )
{
char str1[N],str2[N];
int m,n,k;
clrscr( );
printf("***Input the string str1 & str2
***/n");
printf("/nstr1:");
gets(str1);
printf("/nstr2:");
gets(str2);
printf("***The string str1 & str2 ***/n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*** The new string ***/n");
puts (str1);
}
[简答题]
编程题
【题目】
试定义一个类STR,实现两个字符串的交集。具体要求如下:
(1)私有数据成员。
char s1[50],s2[50],s0[50]:字符串s0用于存放字符串s1和字符串s2的交集。
(2)公有成员函数。
STR(char *p1,char *p2):构造函数,分别用参数p1和p2初始化成员数组s1和s2
int isin(char *p,char c):判断字符c是否出现在字符串p中,如果是,则返回值为1,否则返回值为0
void fun( ):求成员数组s1和s2的交集,并将结果存放在成员数组s0中。提示:利用函数isin(char *,char)依次判断一个字符串中的每个字符是否包含于另一个字符串中,如果包含,且该字符不包含于成员数组s0中,则将该字符加入到成员数组s0中。
void print( ):按输出示例的格式输出所有数据成员。
(3)在主函数中对该类进行测试。
输出示例:
字符串1:abcdef123abc12
字符串2:acef123ace124
两个字符串的交集:acef123
【要求】
源程序文件名必须为myfb.cpp,并放在T盘根目录下,供阅卷用。
[简答题]下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。
例如,若字符串为aass 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
int fun(char *str, char *substr)
{ int i, j, k, num=0;
/********** found**********/
for(i=0, str[i], i++)
for(j=i, k=0; substr[k]==str[j]; k++, j++)
/********** found**********/
If(substr[k+1]==’/0’)
{ num++;
break;
}
return num;
}
main( )
{
char str[80], substr[80];
printf("Input a string:");
gets(str);
printf("Input a substfing: ");
gets(substr);
printf("%d/n", fun(str, substr));
}
[单项选择]
一下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str= "ABCDABCD", ch= "B",则函数的返回值为:"ACDACD"
Function delchar(str As String, ch As String)As String
Dim k As Integer, temp As String, ret As String
ret=""
For k=1 To Len(str)
temp=Mid(str, k, 1)
If temp= ch Then
ret=ret&temp
End If
Next k
delchar=ret
End Function
但实际上函数有错误,需要修改。下面的修改方案中正确的是()
A. 把ret=ret&temp改为ret=temp
B. 把If temp=ch Then改为If temp<> ch Then
C. 把delchar=ret改为delchar=temp
D. 把ret =""改为temp=""
[单项选择]用于获得字符串Str从第2个字符开始的3个字符的函数是( )。
A. Mid(Str,2,3)
B. Middle(Str,2,3)
C. Right(Str,2,3)
D. Left(Str,2,3)
[填空题]以下程序的功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码值之差。请填空。
#include"stdio.h"
main( )
char a1[20],a2[20]; int n=0,t;
scanf("%st",a1); scanf("%s",a2);
while(a1[n]!=a2[n]&&(a1[n]!= 【15】 ))
t= 【16】 ;
printf("%d/n",t); n++;
[填空题]下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCⅡ码之差。例如:输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。
#include <stdio.h>
main( )
char str1[100],str2[100],c;
int i,s;
printf("Enter string 1:");gets(str1);
printf("Enter string 2:");gets(str2);
i=0;
while((str1[i]==str2[i]&&str1[i]!=______))
i++;
s=______;
printf("%d/n",s);