问题
填空题
砂的矿物组成主要是()。
答案
参考答案:石英
砂的矿物组成主要是()。
参考答案:石英
阅读以下技术说明和流程图,根据要求回答问题1至问题3。
[说明]
图4-8的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除,但保留非空字符。例如,原字符串“ FileName ”,处理变成“File Name”。图4-9、图4-10和图4-11分别详细描述了图4-8流程图中的处理框A、B、C。
假设原字符串中的各个字符依次存放在字符数组ch的各元素ch(1)、ch(2)、…、ch(n)中,字符常量 KB表示空白字符。
图4-8所示的流程图的处理过程是:先从头开始找出该字符串中的第一个非空白字符ch(i),再从串尾开始向前找出位于最末位的非空白字符ch(j),然后将ch(i)、……、ch(j)依次送入ch(1)、ch(2)、……中。如果字符串中没有字符或全是空白字符,则输出相应的说明。
在图4-8流程图中,strlen()是取字符串长度函数。
图4-8 算法总流程图
图4-9 处理框A对应的流程图
图4-10 处理框B对应的流程图
图4-11 处理框C对应的流程图
[问题3] 函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。 [函数] void f_str(char *str,char del) { int i,j,len; len = strlen(str); i = 0; while (i<len) { while ( (6) ) i++; /* 忽略连续的标志字符 */ /* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */ j = i+1; while (str[j] !=del && str[j] !=’\0’) j++; (7) ="\0"; /* 给找到的字符序列置字符串结束标志 */ printf (" %s\t", & str [i]); (8) ; } } |