设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字
设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字符)。现要求从此字符串的第m个字符以后删除长度为t的子串,m<s,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。
设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字符)。现要求从此字符串的第m个字符以后删除长度为t的子串,m<s,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。
第1题
第2题
第3题
以下叙述中正确的是
A.下面的语句用赋初值方式来定义字符串,其中,"\0"是必须的charstrl[]={"s","t","r","1","\0");
B.有定义语句:charstr1[]=""str1"",数组str1将包含4个元素
C.字符串常量""str1""的类型是:字符串数据类型
D.字符数组的每个元素可存放~个字符,并且最后一个元素必须是"\0"字符
第4题
请编写函数fun(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为:
W WWW
S S S S
H H H H
则字符串中的内容应是WSHWSHWSHWSH。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
define M 3
define N 4
void fun(char (*s)[N],char *b)
{
}
main()
{
char a[100],w[M][N]={{ 'W', 'W', 'W', 'W'},
{'S', 'S', 'S', 'S'},{'H', 'H', 'H', 'H'}};
int i,j;
printf("The matrix:\n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("\n");
}
fun(w,a);
printf("The A string:In");
puts(a);
printf("\n\n");
}
第5题
A.产生长度为20的字符串并输出
B.产生长度为18的字符串并输出
C.产生长度为19的字符串并输出
D.产生全部由字符'a'构成字符串并输出
第7题
A.若要输出随机第n个字符,则该字符的索引为s[n]
B.索引s[2]和s[-5]的字符相同
C.s[-3]的运行结果是 绿
D.字符 紫 的索引是s[7]或者s[-1]
第8题
设有定义语句:char*aa[2]={abcd,abcD};则以下叙述正确的是
A.aa数组的两个元素只能存放含有4个字符的一维数组的首地址
B.aa数组的值分别是字符串""abcd""和""abcD""
C.aa是指针变量,它指向含有两个元素的字符型数组
D.aa[0]存放了字符串""abcd""的首地址
第10题
定义一个名为“s”的字符型数组,并且赋初值为字符串“123”的错误语句是()。
A.char s[]={‘1’,‘2’,‘3’,‘\0’);
B.char s[]={“1 23”);
C.char s[]={“123\n”);
D.char s[4]={‘1’,‘2’,‘3’};