以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i; for(i=0;
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i; for(i=0;s[i];i++) if() s[n++]=s[i]; s[n]=;}
’\0’或0或NULL
将不是数字字符的数组元素赋给s,最后一个字符为0.
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i; for(i=0;s[i];i++) if() s[n++]=s[i]; s[n]=;}
第1题
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i; for(i=0;s[i];i++) if() s[n++]=s[i]; s[n]=;}
第2题
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i;for(i=0; s[i];i++)if()s[n++]=s[i];s[n]=;}
第3题
以下函数的功能是删除字符串s中的所有数字字符。请填空。
void dele (char *s)
{
int n=O;
for(i=0;s[i];i++)
{
if(【 】)
s[n++]=s[i];
}
s[n]= '\0';
}
第4题
例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.c中。
不得增行或删行,也不得更改程序的结构!
第5题
给定程序中,函数fIm的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,
处理后新字符串的首地址作为函数值返回。
例如。s所指字符串为asdl23fgh543df,理后新字符串为l23543asdfghdf。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
第6题
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
第7题
请编写函数fun(),其功能是将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除。字符串中剩余的字符所形成的一个新的字符串放在t所指的数组中。
例如:s所指字符串中的内容为ABCDEFG12345,其中字符A,的ASCII码值虽为奇数,但元素所在的下标为偶数,因此必需删除;字符1的ASCII码值为奇数,所在数组中的下标也为奇数,不删除,最后t所指的数组中的内容应是135。
请勿修改主函数main和其他函数中的任何内容,仅在函数su的花括号中填写若干语句。
文件test 27_2.cpp的内容如下;
include <conio.h>
include <stdio.h>
include <iostream.h>
include <string.h>
void fun(char *s,char t[ ])
{
}
void main ()
{
char s[100],t[100];
cout<<"Please enter string S: "<<end1;
gets(s);
fun(s, t);
puts(t);
}
第8题
编写函数fun,其功能是:将s所指字符串中除了下标为奇数,同时ASCH码值也为奇数自q字符之外。
其余所有字符全部删除,串中剩余字符所形成的一个新串放在所指的数组中。
例如,若s所指字符串的内容为“ABCDEFGl2345”,其中字符A的ASCIl码值为奇数,但所在元素的
下标为偶数,因此需要删除;而字符l的ASCIl码值为奇数,所在数组中的下标也为奇数,因此不应当删除,
其他依此类推。最后t所指数组中的内容应为“135”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
第9题
请编写函数fun(),其功能是:将s所指字符串中除了下标为偶数、同时ASCII码值为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为ABCDEFG12345,其中字符B的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除,其他依次类推。最后t所指的数组中的内容应是ACEG。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
include<string.h)
void fun(char *s, char t[])
{
}
main()
{
char s[100],t[100];
clrscr();
printf("\nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("\nThe result is: %s\n",t);
}
第10题
例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
第11题
试题四(共 15分)
阅读以下说明和C函数,将解答填入答题纸的对应栏内。
【说明】
函数del_substr(S,T)的功能是从头至尾扫描字符串 S, 删除其中与字符串T相同的所有子串,其处理过程为:首先从串 S 的第一个字符开始查找子串 T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型 SString
定义如下:
typedef struct {
char *ch; /*串空间的首地址*/
int length; /*串长*/
}SString;
【C函数】
void del_substr(SString *S, SString T)
{
int i, j;
if (S->length < 1 || T.length < 1 || S->length < T.length )
return;
i = 0; /* i为串S中字符的下标 */
for (; ; ) {
j = 0; /* j为串T中字符的下标 */
while (i < S->length && j < T.length ) { /* 在串S中查找与T相同的子串 */
if (S->ch[i]==T.ch[j] ) {
i++; j++;
}
else {
i = (1) ; j = 0; /* i值回退,为继续查找T做准备 */
}
}
if ((2) ) { /* 在S中找到与T相同的子串 */
i = (3) ; /* 计算S中子串T的起始下标 */
for(k = i+T.length; k<S->length; k++) /* 通过覆盖子串T进行删除 */
S->ch[ (4) ] = S->ch[k];
S->length = (5) ; /* 更新S的长度 */
}
else break; /* 串S中不存在子串T*/
}
}
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!