观察题目要求 可以知道以下几点: ①for循环的结束条件应当是:str[i]已是字符串的最后一个字符
观察题目要求,可以知道以下几点: ①for循环的结束条件应当是:str[i]已是字符串的最后一个字符; ②str[i]代表字符串str中的第i+1个字符; ③整形变量num的值是要记录的单词的个数。 C语言中规定字符串的最后一个字符是一个隐含的字符串结束符“/0”,所以在题中第一个空中应填写“/0”;题中第二个空应填写“str[i]”,以判断当前位置的字符是否为空格;题中第三个空中应当填写“num++”,通过变量num的加1累加得到字符串中的单词个数。 有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 define N 100 main() { float a[N+1],x; int i,p; for(i=0;i<N;i++) scanf("%f,&x); for(i=0,p=N;i<N;i++) if(x<a[i]) { 【 】 ; for(i=N-1; 【 】 ;i-) a[i+1]=a[i]; a[p]=x; for(i=0; 【 】 ;i++) { printf("%8.2f,a[i]); if(i%5==0) printf("/n"); } }
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:p=i;i>=pi<=N
本题主要考查了插入排序。由于程序中的数组在开始已经按从小到的大顺序排好。在插入时,首先要查到第一个大于待插入数的数组下标,即当待插入元素小于数组中当前元素时,记下数组的当前下标p,并结束循环。故第一空目的是为了记下数组下标,应填p=i;插入的第二部是将大于待插入元素的所有元素都向后移动一位,故在循环时,要从最后一个元素到第p个元素都要后移一位,因此第二空应填i>=p。最后一个循环是将N+1个元素都输出,故最后一空应为i<=N。(注:本题有多种答案,以上仅提供一种)
相似问题
数据库技术的主要特点为数据的集成性 数据的高【 】和低冗余性 数据独立性和数据统一管理与控制。请帮忙
数据库技术的主要特点为数据的集成性、数据的高【 】和低冗余性、数据独立性和数据统一管理与控制。请帮忙给出正确答案和分析,谢谢!
下列程序的输出结果是【 】 。 main() { int a=1 b=2; a=a+b;b=a-b;
下列程序的输出结果是【 】 。 main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf( "%d,%d n ",a,b) ; }请帮忙给出正确答案和分析,谢谢!
贸易管制包括()等非关税壁垒。A. 关税政策B. 进口配额C. 进口许可证D. 卫生E. 包装
贸易管制包括()等非关税壁垒。A 关税政策B 进口配额C 进口许可证D 卫生E 包装
下面程序的输出结果是【 】。 char b[]='ABCD'; main() { char b[30
下面程序的输出结果是【 】。 char b[]="ABCD"; main() { char b[30]; strcpy(&b[0],"GH"); strcpy(&b[1],"GH”); strcpy(&b[2],"GH"); p
以下说法不正确的是( )。A. 瑞士法郎外国债券在瑞士发行时投资者主要是瑞士投资者B. 外国投资者购
以下说法不正确的是( )。A 瑞士法郎外国债券在瑞士发行时投资者主要是瑞士投资者B 外国投资者购买瑞士国内债券免征预扣税C 瑞士法郎外国债券是不
