2014年计算机二级C语言考试上机模拟试题(4)_第10页
二、基本操作题程序填空题 【1】sum+=x[i]【2】abs+=(x[i]一avg)*(x[i]-avg)【3】sqrt(abs/10) 【解析】由函数proc( )可知,变量sum中存放n个数的和,因此,【1】处填"sum+=x[i]”;然后求其平方差,因此,【2】处填“abs+=(x[i]-avg)*(x[i]-avg)”;最后求l0个数的方差,因此,【3】处填"sqrt(abs/10)”。 三、程序改错题 (1)错误:for(i=j=0;str[i]!=’0’;i++) 正确:for(i=j=0;str[i]!=’\0’;i++) (2)错误:str[j]=str[i]; 正确:str[i++]=str[i]; 【解析】根据题目中的要求,从字符串str中删除所有大写字母’F’,需要检查字符串str中的每一个字符,直到字符串结束,因此,“for(i=j=0;str[i]!=’0’;i++)”应改为“for(i=J=0;str[i]!=’0’;i++)”;将每一个不是’F’的字符放入原来的字符串中,形成新的字符串,因此,“str[j]= str[i];”应改为“str[j++]=str[i];”。 四、程序设计题 void proc(char * str) { char*p=str; while(* p= =’*’)p++; //通过p的移动来达到使p指向第一个不是*号的字符 for(;* p!=’\0’;p++,str++) //把从第一个不是*号的字符放到a中 * str=* P: * str=’\0’; //最后用’\0’作为字符串结束标志 } 【解析】题目中要求将字符串中的前导*号全部删除,首先将指针P移动到第一个不是*的字符,将指针P之后的字符放入原来的字符串中,并为新的字符串添加结束符。
首页 1 2 3 4 5 6 7 8 9 10 尾页
相关文章
- 2014-02-10
- 2014-02-10
- 2014-02-10
- 2013-06-24
- 2013-06-24
- 2013-06-07
- 2013-06-07
- 2013-06-07