全国计算机等级考试题库二级C操作题100套(第88套)

第88套:

函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为: 9、1、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:

#include <stdio.h> 
#define N 9 
void fun(int ___1___, int n) 
{ int i, j, max, min, px, pn, t; 
for (i=0; i<n-1; i+=___2___) 
{ max = min = a[i]; 
px = pn = i; 
for (j=___3___; j<n; j++) 
{ if (max < a[j]) 
{ max = a[j]; px = j; } 
if (min > a[j]) 
{ min = a[j]; pn = j; } 
} 
if (px != i) 
{ t = a[i]; a[i] = max; a[px] = t; 
if (pn == i) pn= px; 
} 
if (pn != i+1) 
{ t = a[i+1]; a[i+1] = min; a[pn] = t; } 
} 
} 
main() 
{ int b[N]={1,4,2,3,9,6,5,8,7}, i; 
printf("\nThe original data :\n"); 
for (i=0; i<N; i++) printf("%4d ", b[i]); 
printf("\n"); 
fun(b, N); 
printf("\nThe data after moving :\n"); 
for (i=0; i<N; i++) printf("%4d ", b[i]); 
printf("\n"); 
} 

解题思路:
第一处:形参a应定义指针整型变量,所以应填:*a。
第二处:外for循环每次增量应该加2。
第三处:内for循环的初始值应为:i+1。


给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2 开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在 w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。
例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:

#include <stdio.h> 
#define SIZE 20 
fun(double *s, double *w) 
{ int k,i; double sum; 
for(k=2,i=0;i<SIZE;i++) 
{ s[i]=k; k+=2; } 
sun=0.0; 
for(k=0,i=0;i<SIZE;i++) 
{ sum+=s[i]; 
if(i+1%5==0) 
{ w[k]=sum/5; sum=0; k++; } 
} 
return k; 
} 
main( ) 
{ double a[SIZE],b[SIZE/5]; 
int i, k; 
k = fun(a,b); 
printf("The original data:\n"); 
for(i=0; i<SIZE; i++) 
{ if(i%5==0) printf("\n"); 
printf("%4.0f", a[i]); 
} 
printf("\n\nThe result :\n"); 
for(i=0; i<k; i++) printf("%6.2f ",b[i]); 
printf("\n\n"); 
} 

解题思路:
第一处:变量名书写错误,应为sum。
第二处:由于%的优先级比+优先,所以必须加上括号,因此改为:if((i+1)%5==0)。


学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组 s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中, 低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:

#include <stdio.h> 
#define N 8 
typedef struct 
{ char num[10]; 
double s; 
} STREC; 
double fun( STREC *a, STREC *b, int *n ) 
{ 
} 
main() 
{ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85}, 
{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87}}; 
STREC h[N],t;FILE *out ; 
int i,j,n; double ave; 
ave=fun( s,h,&n ); 
printf("The %d student data which is lower than %7.3f:\n",n,ave); 
for(i=0;i<n; i++) 
printf("%s %4.1f\n",h[i].num,h[i].s); 
printf("\n"); 
out = fopen("c:\\test\\out.dat","w") ; 
fprintf(out, "%d\n%7.3f\n", n, ave); 
for(i=0;i<n-1;i++) 
for(j=i+1;j<n;j++) 
if(h[i].s>h[j].s) {t=h[i] ;h[i]=h[j]; h[j]=t;} 
for(i=0;i<n; i++) 
fprintf(out,"%4.1f\n",h[i].s); 
fclose(out); 
} 

解题思路:
本题是利用循环计算出记录结构中学生成绩的平均值,再把低于平均值的记录存放到b所指的数组中。具体操作请看答案程序中的说明。
参考答案:

#include <stdio.h> 
#define N 8 
typedef struct 
{ char num[10]; 
double s; 
} STREC; 
double fun( STREC *a, STREC *b, int *n ) 
{ 
int i ; 
double ave = 0.0 ; 
*n = 0 ; 
for(i = 0 ; i < N ; i++) ave = ave + a[i].s ; 
ave /= N ; /* 计算平均值 */ 
for(i = 0 ; i < N ; i++) 
if(a[i].s < ave) { /* 把低于平均值的记录存放到b所指的数组中 */ 
b[*n]=a[i] ; 
(*n)++; /* 人数加1 */ 
} 
return ave ; /* 返回平均值 */ 
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

75: libreoj #10028 双向宽搜

$des$ 实现一个bfs $sol$ 写了一个双向bfs #include <bits/stdc.h>using namespace std;#define Rep(i, a, b) for(int i a; i < b; i )#define gc getchar() inline int read() {int x 0; char c gc;while(c < 0 || c > 9) c gc;while(c > 0 &&…

《MS SQL Server 2000管理员手册》系列——8. 管理 Microsoft SQL Server 服务

8. 管理 Microsoft SQL Server 服务SQL Server 服务组件 使用SQL Server服务管理员使用 Windows 2000 服务控制管理员使用 SQL Server Enterprise Manager本章总结当您安装好 Microsoft SQL Server 2000 之后就可以开始执行了。在使用Microsoft SQL Server 2000 存取数据前&…

中的 终端报错怎么看原因_《琅琊榜》中太子被封禁,高湛引皇上看桂花的真正原因是什么?...

《琅琊榜》中&#xff0c;高湛是一个非常经典的角色&#xff0c;他比夏江更懂梁帝的心&#xff0c;或者说&#xff0c;知梁帝者&#xff0c;莫过于高湛。当然&#xff0c;若不是如此&#xff0c;高湛也不能在梁帝身边待了那么些年。梁帝生病&#xff0c;喝下静妃娘娘配制的甜汤…

js获取当前域名、Url、相对路径和参数以及指定参数

用 Javascript 可以单独获取当前域名、Url、相对路径和参数&#xff0c;所谓单独攻取&#xff0c;即域名不包括网页文件的路径和参数、参数不包括域名和网页文件路径&#xff0c;下面分别介绍。 一、js获取当前域名有2种方法 1、方法一 var domain document.domain; 2、方法二…

STM32安装Keil5、芯片支持包、startup启动文件(启动过程、冷热启动)、建立工程、ST-LINK烧写步骤

参考&#xff1a;stm32入门之keil5的安装以及第一个工程的建立 作者&#xff1a;SKY丶丿平才 发布时间&#xff1a; 2020-12-06 17:08:30 网址&#xff1a;https://blog.csdn.net/weixin_48264057/article/details/110734596 目录使用的STM32F103C8T6一、Keil5的下载与安装1.下…

深度学习都是非凸问题_神经网络的损失函数为什么是非凸的?

Ian Goodfellow曾经给在quora回答过&#xff0c;以下是原文&#xff1a;There are various ways to test for convexity.One is to just plot a cross-section of the function and look at it. If it has a non-convex shape, you don’t need to write a proof; you have dis…

针对移动互联网应用的网络建设和优化

为什么80%的码农都做不了架构师&#xff1f;>>> 针对移动互联网应用的网络建设和优化 截至2013年3月,移动互联网的人均上网时长和PC互联网相比差距已经扩大了29%.PC互联网向移动端迁移的趋势进一步凸显.小米是一家专注于iPhone和Android等新一代智能手机软件…

STM32F103实现点灯(寄存器方式)

参考&#xff1a;STM32F103系列最简易版点灯程序 作者&#xff1a;一只青木呀 发布时间&#xff1a;2020-10-21 11:40:38 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/109196950 目录硬件软件点灯流程使能GPIO端口E和B对应的时钟找到GPIO对应的时钟…

rocketmq 消费方式_RocketMQ事务消费和顺序消费详解

一、RocketMq有3中消息类型1.普通消费2. 顺序消费3.事务消费顺序消费场景在网购的时候&#xff0c;我们需要下单&#xff0c;那么下单需要假如有三个顺序&#xff0c;第一、创建订单 &#xff0c;第二&#xff1a;订单付款&#xff0c;第三&#xff1a;订单完成。也就是这个三个…

列出我所知道的图像处理库

&#xff11;&#xff0e;对OpenCV的印象&#xff1a;功能十分的强大&#xff0c;而且支持目前先进的图像处理技术&#xff0c;体系十分完善&#xff0c;操作手册很详细&#xff0c;手册首先给大家补计算机视觉的知识&#xff0c;几乎涵盖了近10年内的主流算法&#xff1b;然后…

GPIO输入输出模式原理(八种工作方式附电路图详解)

这几篇博文讲的不错&#xff0c;可参照着理解&#xff1a; STM32下拉输入模式与振动传感器的使用 “上拉电阻与下拉电阻”通俗解读 上、下拉电阻&#xff08;定义、强弱上拉、常见作用、吸电流、拉电流、灌电流&#xff09; 个人总结&#xff1a; 模拟量选浮空输入&#xff0c…

webpack打包后引用cdn的js_利用CDN加速react webpack打包后的文件详解

此文不介绍webpack基本配置&#xff0c;如果对基本配置有疑问请查阅官方文档。1、配置webpack.config.js将output.publicPath改成上传到的cdn地址, 例(对应上面上传配置)&#xff1a;publicPath: "https://your_base_cdn_url" process.env.NODE_ENV "/cdn/&qu…

STM32F103构建固件库模板(PS固件库文件树介绍)

参考&#xff1a;STM32F103ZE新建固件库模板 作者&#xff1a;追兮兮 发布时间&#xff1a;2020-10-14 10:31:45 网址&#xff1a;https://blog.csdn.net/weixin_44234294/article/details/109065495 参考博文&#xff1a;https://blog.csdn.net/visual_eagle/article/details/…

java ee 中文乱码的问题

java ee 中文乱码的问题发生中文乱码的三种情况(一) 表单formPost 方法直接在服务器中设置request.setCharacterEncoding("utf-8");get方法 自己转码,下面是方法.public class HuanMa{public static String getUTF8(String str){String s"";try {s new St…

深度相机 物体三维重建_基于深度相机进行室内完整场景三维重建的方法及系统_2017100513665_说明书_专利查询_专利网_钻瓜专利网...

S121&#xff1a;采用Kintinuous框架&#xff0c;进行视觉里程计估计&#xff0c;得到每帧深度图像下的相机位姿信息。S122&#xff1a;根据相机位姿信息&#xff0c;将由每帧深度图像对应的点云数据反投影到初始坐标系下&#xff0c;用投影后得到的深度图像与初始帧的深度图像…

STM32F103实现点灯(固件库方式)

参考&#xff1a;stm32上实现点灯 作者&#xff1a;SKY丶丿平才 发布时间&#xff1a; 2021-03-20 16:51:06 网址&#xff1a;https://blog.csdn.net/weixin_48264057/article/details/115028724 目录前言一、硬件设计二、软件设计1.建立工程2.代码编写三、实际验证1.烧写程序2…

strtus2.3 java.lang.NoSuchFieldException: DEFAULT_PARAM

strtus2.3.15.1 的bug请下载 http://download.csdn.net/detail/livalue/6229373 或加群到群共享中下载.214579879

STM32震动感应控制继电器(使用循环VS使用外部中断EXTI和中断控制器NVIC)

参考&#xff1a;stm32的外部中断 震动感应 控制 继电器 作者&#xff1a;点灯小哥 发布时间&#xff1a; 2021-03-05 22:37:01 网址&#xff1a;https://blog.csdn.net/weixin_46016743/article/details/114417161 参考&#xff1a;STM32震动感应灯 作者&#xff1a;一只小阿大…

mysql 查找课程最高分_mysql 查询 学生id最高分的科目和日期

mysql>select*fromstudent;------------------------------|id|subject|mark|date|------------------------------|24|语文|56|2004-11||32|数学|74|2006-5||24|政治|100|2...mysql> select * from student;------------------------------| id | subject | mark | date…

我的lisp启程

Lisp语言仰慕已久&#xff0c;尤其是其作为人工智能的编程语言&#xff0c;感觉明显比其他语言高端不少&#xff0c;加之同班的同学也要自学lisp&#xff0c;就下定决心趁着在校的时候将lisp掌握。大一的时候接触python&#xff0c;觉得python语言特别难学&#xff0c;因为从来…