在A址起有一个50字节长的字符串,请查找串中含有最后一个“?”字符字节相对A址的距离(设串中含有多个“?”号)。
对缓冲区中的一组字符(100个)进行处理:
(1)把其中的字母字符取出存放在ALPH起的单元中。
(2)把已取出的字母串中重复的字符删除,并向前递补。
(3)在不重复的字母串中,把小写字母改为大写字母。如有重复的大写字母,先删除重复大写字母并由后续字符向前递补。
(4)统计不重复大写字母总数,并显示大写字母串。
(5)显示处理后的字符串。
按上述要求分别编写子程序。并构成一个主程序、子程序和具有嵌套调用关系的程序。
【题目描述】
表达式VAL(SUBSTR(”i5处理器”,2,1))^Len(”MS Visual FoxPro”)的结果是()。
A. 5.00
B. 16.00
C. 21.00
D. 80.00
【我提交的答案】: C |
【参考答案与解析】: 正确答案:D |
SUBSTR:在一个字符串中从指定位置起返回给定长度的子串。
VAL:将字符型的数字转换成数值。LEN:返回一个字符串的长度。
注意:在Visual FoxPro中一个汉字占两个字符的宽度。所以SUBSTR(”i5处理器”,2,1)的返回值是“5”,VAL(”5”)=5,Len(”MS Visual FoxPro”)=16,5×16=80。
请用通俗的话解释一下
设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字符)。现要求从此字符串的第m个字符以后删除长度为t的子串,m<s,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。
已知字符串采用顺序存储结构,请完成以下函数的编写: SeqString* substring(SeqString str, int i, int len);//在字符串str中从第i个位置起取长度为len的子串(i从1开始),函数返回子串指针,若子串超出边界返回NULL。 int index(SeqString s, SeqString t);//查找子串t在主串s中第一次出现的位置,若匹配成功,返回起始位置。若匹配不成功,则返回-1。 void delstring(SeqString *S, int i, int len);//在字符串s中删除从第i个位置开始(i从1开始),长度为len的子串。
已知字符串采用带结点的链式存储结构,请完成以下函数的编写 1)linkstring substring(linkstring s,int i,int len),在字符串s中从第i个位置起取长度为len的子串,函数返回子串链表。 2)void delstring(linkstring s, int i,int len) ,在字符串s中删除从第i个位置开始,长度为len的子串。 3)linkstring index(linkstring s, linkstring t),查找子串t在主串s中第一次出现的位置,若匹配不成功,则返回NULL。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!