教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

c上机模拟详细参考答案_whc0909(3)

来源:网络收集 时间:2026-08-14
导读: 【解题思路】 进入fun函数,根据前面的分析: 选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下的n-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以

【解题思路】

进入fun函数,根据前面的分析:

选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下的n-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

【主要考点】数组操作;函数传值;if条件语句;for循环语句

(2)if(n==1) (3)1.0

计算机二级上机题库很有用 题目就是里面出的

第7套上机考试答案解析:

1、程序填空题

【答案及难度指数】★

(1)a<b (2)a<c

【一起来审题】

该题中函数功能是把从键盘输入的三个整数按从大到小的顺序输出。本题中函数的实现过程是通过if语句分别对三个整数进行两两判断。

【解题思路】

第一空:根据第一空下面的三条赋值语句,可以很清楚地知道第一个if条件语句中是对a与b进行比较。题干要求对三个数按从大到小的顺序输出,if下面的交换关系表明,当a小于b时要对a与b的位置进行交换,所以第一空填"a<b"。

同理,第二空填"a<c",第三空填"b<c"。

【主要考点】if条件语句。

2、程序改错题

【答案及难度指数】★★

(1)for(k=2;k<=m;k++)

(2)c-=1.0/(k*k);

【一起来审题】

该程序功能是根据题目要求计算公式。从已给定源程序的main主函数开始入手,"printf("\nThe result is%1f\n",fun(para));"语句中的fun(para)将参数para传给函数double fun(int m)中的m,实现公式的计算结果。

【解题思路】

(1)第一个标识下面,"for(k=2;k<m;k++)"中的循环条件根据题干中的公式,可以知道要计算的公式中应包括k=m时的值,所以循环条件应该改为"for(k=2;k<=m;k++)"。

(2)第二个标识下面,因为c被定义为浮点型,k被定义为整型,所以"1/(k*k)"的计算结果为整型,即"c-=1/(k*k);"的返回值为整型,随着k的增加,计算结果一直为0,因此改为"c-=1.0/(k*k);"。

【主要考点】C语言基本语法;变量类型。

3、程序设计题

【答案及难度指数】★★★

long s=0,t;

int i=0,j,n=strlen(str),k,s1;

//求得字符串长度n

if(str[0]=='-')

i++;

for(j=i;j<=n-1;j++)

{

t=str[j]-'0';//把字符变成数值

s1=10;

for(k=j;k<n-1;k++)

t*=s1; //把t中原来的数值增加10倍,即向左移动一位

s+=t; //把转换后的数值t加在个位

}

if(str[0]=='-')

//判断数字字符是否为负数

return-s; //负数返回-s

else

return s; //正数返回s

【一起来审题】

该程序功能是将一个数字字符串转换为一个整数。其中,解题思路是将每位数字字符串的ASCII码减去48(字符"0"的ASCII码值),变成数值0~9。然后再不断进行高位乘以10加低位的运算,或者反过来从低位向高位求,即不断进行低位加高位乘以10的运算。

【解题思路】

进入fun函数,根据前面的分析:从左到右移动指针str,利用上一步不断把t中的数据左移一位,把str当前所指字符转换成数字再加上低位,从而把数字字符串转换成一个整数。

【主要考点】数组操作;for循环语句。 (3)b<c

计算机二级上机题库很有用 题目就是里面出的

第8套上机考试答案解析:

1、程序填空题

【答案及难度指数】★★

(1)(*x)++ (2)(*y)++ (3)cap,min

【一起来审题】

(1)该程序功能是统计字符串中大写字母和小写字母的个数。

(2)从已给部分源程序的main主函数开始入手,主函数执行"fun(str,&cap,&min);",将参数cap、min传递给fun函数的x、y参数,void fun(char *str,int *x,int *y)对大、小写字母进行统计。

(3)进入fun函数,通过while循环对字符串中的每一个字符进行判断,然后对其进行计数统计。

【解题思路】

第一空:"if(*str>='A' && *str<='Z')"是判断当前字符是否为大写字母,而且x是一个整型指针,要使x指向的数据实现递增,则要把指针改为实际数据,因此第一空应填(*x)++。

同理,第二空填(*y)++。

第三空:根据题意要输出统计的字符串中大、小写字母的个数,参照前面参数的对应关系,第三空填cap,min。

【主要考点】输入输出函数及指针的使用。

2、程序改错题

【答案及难度指数】★★

(1)temp=1.0; (2)while(temp>=eps)

【一起来审题】

该题中函数功能是根据公式计算π值。从已给定源程序的main主函数开始入手,通过键盘输入制定精度,然后通过"printf("\neps=%lf,Pi=%lf\n\n",x,fun(x));"语句来调用fun函数。

【解题思路】

(1)根据题目中的公式,应该从1开始加。如果temp起始为0,结果就少加一个1。又由于temp定义为浮点数,所以,第一个错误标识下应该将"temp=0;"改为"temp=1.0;"。

(2)根据题目知,当精度大于等于给定的精度变量eps时,就会继续进行计算,直到满足精度小于给定的eps,所以,第二个标识下应该将"while(temp<=eps)"改为"while(temp>=eps)"。

【主要考点】变量范围;逻辑关系。

3、程序设计题

【答案及难度指数】★★★

char *p,*t1=t,*s1=str;

int n=0,m=0;

while(*s1) //计算串str的长度n,其中s1为临时指针

{

n++;

s1++;

}

while(*t1) //计算串t的长度m,其中t1为临时指针

{

m++;

t1++;

}

if(n>=m) //比较m和n的值,设置p指向较大的指针

p=str;

else

p=t;

return p;

【一起来审题】

该程序功能是比较两个字符串的长度。解题过程是首先分别求得两个字符串的长度,然后对这两个值进行判断,实现两个字符串长度的比较。

【解题思路】

进入fun函数,根据前面的分析:

(1)首先求得字符串的长度,设变量n和m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符,n和m分别加1,直到字符串结束。

(2)使用两个临时指针变量s1、t1分别作为访问字符串的变量。

(3)根据m和n的值返回串,设置指针p,指向返回串的开始地址。

计算机二级上机题库很有用 题目就是里面出的

【主要考点】指针操作;函数传值;while条件。

第9套上机考试答案解析:

1、程序填空题

【答案及难度指数】★

(1)d (2)z

【一起来审题】

(1)该程序功能是计算1/4的圆周长。从已给部分源程序的main主函数开始入手,主函数通过键盘输入获得圆的直径,通过调用printf输出语句中fun函数计算1/4的圆周长。

(2)进入fun函数,根据前面的定义,计算四分之一的圆周长并返回。

【解题思路】

第一空:"return 3.14159*___1___/4.0;"这里根据return 知道该语句是返回四分之一的圆周长,根据圆周长公式,很容易知道这里缺少圆的直径参数,结合函数fun …… 此处隐藏:2665字,全部文档内容请下载后查看。喜欢就下载吧 ……

c上机模拟详细参考答案_whc0909(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/41768.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)