工学

单选题可以同时删除字符串前导和尾部空白的函数是()。A LtrimB RtrimC TrimD Mid

题目
单选题
可以同时删除字符串前导和尾部空白的函数是()。
A

Ltrim

B

Rtrim

C

Trim

D

Mid

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

可以同时删除字符串前导和尾部空白的函数是( )

A.Ltrim

B.Rtrim

C.Trim

D.Mid


正确答案:C

第2题:

假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的K度,形参h给出了字符串中前导*号的个数,形参e给出了字符山中最后*号的个数。在编写函数时,不得使用c语言提供的字符串函数。

例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仪在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <stdio.h>

include <conio.h>

void fun (char *a;int n ,int h ,int e)

{

}

main ( )

{

char s [81],*t,*f;

int m=0,tn=0, fn=0;

printf("Enter a string :\n");

gets (s);

t=f=s;

while (*t)

{t++;m++; } /*m为字符串的长度*/

t--; /*指针t指身字符串尾部*/

while (*t=='*')

{t--; tn++; }

/*指针t指向最后一个字母,tn统计尾部'*'的个数*/

while (*f=='*' )

{f++;fn++;}

/*指针f指向第一个字母,tn统计导'*'的个数*/

fun( s, m, fn, tn);

printf ("The string after deleted: \n");

puts (s);

}


正确答案:void fun (char *a int n int h int e) { int ij=0 for (i=h; in-e; i++) /*第一个字母和最后一个字母之间的字符全不删除*/ a[j++]=a[i]; a[j]='\0; /*在字符串最后加上结束标记*/ }
void fun (char *a, int n ,int h , int e) { int i,j=0 for (i=h; in-e; i++) /*第一个字母和最后一个字母之间的字符全不删除*/ a[j++]=a[i]; a[j]='\0; /*在字符串最后加上结束标记*/ } 解析:注意循环变量i的初值(h)和终止值(n-e),由于h和e分别是a中的前导*和尾部*的个数,n是字符串的长度,所以从a[h])到a[n-e-1]之间的所有字符都要留下,而其他字符均删除。删除操作(即留下相应字符)现己由循环完成。
本题技巧部分:
void fun(char *a, int n, int h, int e )
{a[n-e]='\0;
strcpy(a,a+h);}
另外,请注意,a(n-e]的作用是使最后一个字母后出现字符串结束符。木程序采用了strcpy()库函数。

第3题:

假定输入的字符串中只包含字母和*号。请编写函数proc,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。

例如,若字符串中的内容为****a*bc*def*g** **,删除后,字符串中的内容则应当是a*bc*def*g** **。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。

试题程序:

include<stdio.h=:{>

include<conio.h>

woid proc(char*st r)

{

}

void main

char str[81];

printf("Enter a string:\n");

gets(str);

proc(str):

printf("The string after deleted:\n");

puts(str);}


正确答案:

void proc(char*str)

{

char*p=str

while(*p=='*')p++;//通过P的移动来达

到使P指向第一个不是*号的字符

for(*p!='0 'p++str++)//把从第一个

不是*号的字符放到a中 ‘

*str=* P

*str='0 '; //最后用'0'作为字符串结束标志

}

【解析】题目中要求将字符串中的前导*号全部删除首先将指针p移动到第一个不是*的字符,将指针P之后的字符放入原来的字符串中,并为新的字符串添加结束符。

第4题:

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为:******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为;*******A*BC*DEF*G****。n的值在主函数中输入。

在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序在文件PROGl.C文件中。

请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。


正确答案:
解析:该程序功能是根据字符串前导的“*”号个数进行相关操作。解题过程首先确定字符串尾,然后由串头开始对字符进行判断,同时对“*”字符进行统计,如果大于n,就进行截取。

第5题:

假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:使字符串中前部的*号不得多余n个;若多余n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为****A*BC*DEF*G*******,若 n的值为2,删除后,字符串中的内容则应当是 **A*BC*DEF*G*******;若n的值为4,则字符串中的内容仍为****A*BC*DEF*G******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

试题程序:

include <stdio.h>

include <conio.h>

void fun (char Aa, int n)

{

}

main ()

{ char s[81];int n;

printf ("Enter a string : \n") ;gets (s);

printf ("Enter n : "); scanf ("%d", &n);

fun( s,n );

printf("The string after deleted :\n");

puts (s);

}


正确答案:void fun(char *aint n) { int i=0k=0; char *p*t; p=t=a; /*开始时p与t同时指向数组的首地址*/ while(*t==‘*’) /*用k来统计前部星号的个数*/ {k++; t++;} if(k>n) /*如果k大于n则佼p的前部保留n个星号其后的字符依次存入数组a中*/ {while(*P) {a[i]=*(p+ k-n); i++ p++; } a[i]=‘\0’; /*在字符串最后加上结束标志位*/ } }
void fun(char *a,int n) { int i=0,k=0; char *p,*t; p=t=a; /*开始时,p与t同时指向数组的首地址*/ while(*t==‘*’) /*用k来统计前部星号的个数*/ {k++; t++;} if(k>n) /*如果k大于n,则佼p的前部保留n个星号,其后的字符依次存入数组a中*/ {while(*P) {a[i]=*(p+ k-n); i++ p++; } a[i]=‘\0’; /*在字符串最后加上结束标志位*/ } } 解析:while() 循环的作用是计算出前部星号的个数;if()的作用是判断星号个数是否多于n个,若是则只保留n个星号,即从字符串前部的倒数第n个星号开始,到最后一个字符都存入数组a中,最后记得在字符串最后加上结束标志位。

第6题:

如下哪种函数可以删除字符串中多余的空格()。

A.substitute

B.rept

C.trim

D.row


答案:C

第7题:

假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:除了尾部的,:号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。

例如,若字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include<conio. h>

include<stdio. h>

void fun(char *a, char *p)

{

}

main ( )

char s[81],*t;

printf ("Enter a string: \n ");

gets (s);

t=s;

while (*t)

t++;

t--; /*指针t指向字符串尾部* /

while (*t== '*' )

t--; /*指针t指向最后一个字母*/

fun (s, t);

printf ("The string after deleted: \n");

puts (s);

}


正确答案:void fun(char *a char *p) { char *t=a; for (; t=p; t++) if(*t!='*') * (a++)=*t; /*将p以前所有不是*号的字符保留下来*/ for (;*t!='\0' ;t++) * (a++) =.t; / * 将p以后的所有*号保留下来*/ *a='\0'; / *在字符串最后加上结束标记位*/
void fun(char *a, char *p) { char *t=a; for (; t=p; t++) if(*t!='*') * (a++)=*t; /*将p以前所有不是*号的字符保留下来*/ for (;*t!='\0' ;t++) * (a++) =.t; / * 将p以后的所有*号保留下来*/ *a='\0'; / *在字符串最后加上结束标记位*/ 解析:本题曾在历年上机考试及模拟试题中多次出现,一般用两个循环语句来实现。第1个循环的作用是将p以前所有不是*号的字符保留下来,即删除所有的*号。第2个循环的作用是将p以后的所有*号保留下来。

第8题:

返回删除字符串前导和尾随空格符后的字符串,用函数( ) 。

A、Trim

B、Ltrim

C、Rtrim

D、mid


正确答案:A

第9题:

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序在文件PROGl.C文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


正确答案:
解析:该程序功能是将字符串尾部的“*”号全部删除,前面和中间的“*”号不删除。本题的解题过程首先确定由串尾开始的第一个非“*”位置,将由头开始到此位置的字符拷贝到字符串。

第10题:

可以同时删除字符前导和尾部空白的函数是 ______。

A.Ltrim

B.Rtrim

C.Trim

D.Mid


正确答案:C
解析:Trim函数返回Variant(String)类型,其中包含指定字符串的拷贝,但不包含前导和尾随空白。

更多相关问题