2011上半年计算机考试C语言试题解析
需积分: 1 168 浏览量
更新于2024-07-31
收藏 579KB DOC 举报
"2011年上半年的计算机考试试题,主要涵盖C++编程相关的知识点,包括矩阵元素移动和数组处理的编程题目。"
在提供的2011年上半年二级C上机题库中,有两个编程题目,都涉及到数组操作。首先,让我们详细分析第一个程序填空题。
题目要求实现一个函数`fun`,该函数接受一个N×N的矩阵和一个整数m,将矩阵的每一行元素向右移动m个位置,左侧置为0。在给定的代码中,`fun`函数已经定义了一个二维数组`t`来存储矩阵,并有一个循环结构来遍历每一行。我们需要填写三个下划线处的内容来完成功能。
1. 第一处下划线(___1___):此处的循环条件应该是遍历矩阵的所有行,即`i<N`。由于循环变量`i`初始化为0,因此此处无需修改,保持`for(i=0;i<N;i++)`不变。
2. 第二处下划线(___2___):在内层循环中,我们是要将当前元素移到右边的位置,因此`j+1`表示当前元素的右边位置,填入`1`,使得`t[i][j+1]=t[i][j];`。
3. 第三处下划线(___3___):外层循环结束后,我们需要将左侧m个元素置为0。所以此处的`j<`后面应该填入`N-m`,使得`for(j=0;j<N-m;j++)`,这样可以确保只将前m个元素置零。
修复后的代码如下:
```c
void fun(int(*t)[N], int m)
{
int i, j;
for (i = 0; i < N; i++) // 不改动
{
for (j = N - 1 - m; j >= 0; j--)
t[i][j + 1] = t[i][j]; // 填写1
for (j = 0; j < N - m; j++) // 填写3
t[i][j] = 0;
}
}
```
第二个题目涉及的函数`fun`需要从输入数组中删除奇数,保留偶数,并返回偶数的个数。这个题目需要两个主要步骤:遍历数组并判断元素是否为偶数,然后重新组织数组。
1. 首先,定义一个计数器`count`来记录偶数的数量,初始化为0。
2. 使用一个`while`循环遍历数组,检查每个元素是否为偶数。如果是偶数,将其添加到新数组的对应位置(即a[0]、a[1]等),并增加计数器`count`。
3. 当遍历完所有元素后,返回计数器`count`作为偶数的个数。
注意,此题目的代码没有给出,因此无法提供具体的代码填充建议。但根据描述,可以自行设计解决方案。
这两个题目都展示了C++编程中基本的数组操作和逻辑判断能力,对于学习C++语言的人来说,理解和解决这些题目是非常基础且重要的。通过练习这样的题目,可以提升对数组、指针和循环结构的理解,以及在实际问题中应用这些概念的能力。
2011-09-01 上传
2022-12-06 上传
2010-03-14 上传
2024-11-10 上传
2023-09-13 上传
2024-11-10 上传
2024-04-26 上传
2023-06-10 上传
2023-05-27 上传
wm13479812027
- 粉丝: 0
- 资源: 1
最新资源
- ncomatlab代码-EarlySpringOnset:评估21世纪的异常早春发作
- iODBC:开源的ODBC驱动程序管理器和SDK,可促进在linux,freebsd,unix和MacOS X平台上开发与数据库无关的应用程序
- sturcott3:我是一个非常好奇的人,开始了第二职业的开发。 随时打个招呼!
- pdf2pdf:通过将页面另存为图像并将图像的反转版本合并为一个PDF来反转提供的PDF文件的颜色
- search-user-list:演示
- 基于图像处理的手柄键位映射方案.zip
- 行业文档-设计装置-一种利用钢结构厂房柱间支撑制作的检修平台.zip
- copy-speed-test
- Druid(apache-druid-0.21.1-bin.tar.gz)
- pywikibot::robot:与MediaWiki API接口的Python库。 这是gerrit.wikimedia.org的镜像。 不要在此处提交任何补丁。 见https
- snaparound---adm-ui:控制您的 snaparound 用户数据
- ORAN:ORAN的尊重追踪机器人
- 基于协同过滤的中医书籍推荐系统,实现的基于user和item的协同过滤算法.zip
- SentimentAnalysis:基于字典的情感分析
- 电子行业周报:北水南下推动港股优质电子资产估值修复,看好代工设备封测功率景气度持续高涨.rar
- rpgmaster-realms