更多"用于获得字符串Str从第2个字符开始的3个字符的函数是( )。"的相关试题:
[单项选择]用于获得字符串Str从第2个字符开始的3个字符的函数是__________。
A. Mid(Str,2,3)
B. Middle(Str,2,3)
C. Right(Str,2,3)
D. Left(Str,2,3)
[单项选择]用于获取字符串Str从第2个字符开始的3个字符的函数是______。
A. Mid (Str,2,3)
B. Middle (Str,2,3)
C. Right (Str,2,3)
D. Left (Str,2,3)
[简答题][函数2.1说明]
函数strcpy的功能是将字符串str2的内容复制到字符申str1。
[函数2.1]
(1) strcpy (char *slr1, const char *str2)
char * temp;
while( * str2!=’/0’) *cp++ = (2) ;
(3) =’/0’;
return str1;[函数2.2说明]
函数int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个字符串str1和str2的大小。当str1<str2时返回-1,当str1>str2时返回1,否则返回0。
[函数2.2]
int strcmp(const char *str1, const char *str2)
while( *str1= =* str2)
if(* s1= = (4) ) return 0;
s1++;
(5) ;
if( *str1<*str2) return -1;
return 1;
[简答题]请编写一个函数int CalcDigital(char *str),该函数可返回字符串str中数字字符(即0~9这10个数字)的个数,如字符串“olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。
注意:部分源程序已存在文件test9_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。
文件test9_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
int CalcDigital(char*str);
void main( )
{
char *str;
str=new char[255];
cout<<"输入字符串:";
cin>>str;
int num=CalcDigital(str);
cout<<str<<":"<<num<<endl;
}
int CalcDigital(char *str)
{
}
[填空题]请补充fun函数,该函数的功能是:把字符的ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串中,字符串str从键盘输入,其长度作为参数传入fun函数。
例如,输入“abcdef”则输出“bdf”。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 100
void (1)
int i,j;
(2) ;
for(i=0;i<n;i++)
char str[N];
printf("please input a string:/n");
gets(str);
while(str[i]!=’/0’)
len++;
if(s[i]%2==0)
s[j++]=s[i];
(3) ;
main( )
int i=0,len=0;
i++;
fun(str,len);
printf("The result string:/n");
puts(str);
[填空题]下列程序能将字符串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);
[填空题]请补充函数fun( ),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。
例如,如果输入“cdefgh”,则输出为“hgfedc”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 80
void fun (char s [], int n)
int i, j;
char ch;
for (i=0; i<n; i++)
for(j= 【1】 ;j<n;j++)
if (s[i]<s [j])
ch=s [j];
【2】 ;
s [i] =ch;
main ( )
int i=0, strlen=0;
char str [N];
clrscr ( );
printf ("/nInput a string: /n");
gets (str);
while (str [i] !=’ /0’)
strlen++;
i++;
fun (str, strlen);
printf ("/n***display string ***/n");
puts (str);
[填空题]下面invert函数的功能是将一个字符串str的内容颠倒过来,请填空。
#include<string.h>
void invert(char str[])
int i,j,______;
for(i=0,j=strlen(str)______;i<j;i++,j--)
k=str[i];str[i]=str[j];str[j]=k;
[单项选择]下面函数的功能应该是:删除字符串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=""
Fork=1 To Len(str)
temp=Mid(str,k,l)
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="/
[填空题]请补充main函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。
例如:当str1=“cdefghij”,然后输入4,则str2=“cdef”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define LEN 80
main( )
char str1[LEN],str2[LEN];
int n,i;
clrscr( );
printf("Enter the string:/n");
gets(str1);
printf "Enter the position of the string deleted:");
scanf( 【1】 );
for(i=0;i<n;i++)
【2】
str2[i]=‘/0’;
printf("The new string is:%s/n", 【3】 );
[填空题]下列给定程序中,函数fun( )的功能是:在字符串str中找出ASCII码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun( )函数之前给字符串输入fagAgBDh,调用后宁符串中的内容为AfaggBDh。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
/*************found************/
void fun(char p)
char min,*q;
int i=0;
min=p[i];
while (p[i]!=0)
if (min>p[i])
/*************found*************/
p=q+i;
min=p[i];
i++;
while(q>p)
*q=*(q-1);
q--;
p[0]=min;
main( )
char str[80];
printf("Enter a string:");
gets(str);
printf("/nThe original string:");
puts(str);
fun(str);
printf("/nThe string after moving:");
puts(str);
printf("/n/n");
[单项选择]
一下面函数的功能应该是:删除字符串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的长度 (不得使用系统提供的字符串处理函数)。
int GJetLen(char*str)if( 【8】 ) return 0;
else return 1+GetLen (str+1);
[填空题]在下面函数的横线处填上适当的内容使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。
int GetLen(char *str
if ( 【6】 ) return 【17】 ;
else return 1+GetLen (str+1);
[填空题]请补充main 函数,该函数的功能是:先以只写方式打开文件“out99.dat”,再把字符串str中的字符保存到这个磁盘文件中。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include "stdio. h"
#include "conio.h"
#define N 80
main ( )
{
FILE *fp;
int i=0;
char ch;
char str[N]="I’m a student!";
clrscr( );
if ( (fp=fopen ( 【1】 ) ) ==NULL)
{
printf("cannot open out99. dat/n");
exit(0);
}
while (str[i])
{
ch=str[i];
【2】 ;
putchar(ch);
i++;
}
【3】 ;
}