河南科技大学计算机考试编程题解析
需积分: 11 158 浏览量
更新于2024-09-12
1
收藏 23KB DOCX 举报
"河南科技大学计算机考试程序答案"
这些题目主要涉及C语言编程,涵盖了字符串操作、数值处理和数组处理等基础知识。
第一题是一个字符串操作的问题,目标是将输入的字符串`s`分为两部分,一部分是正序,另一部分是逆序,然后合并到一个新的字符串`t`中。在代码中,有两个`found`标记的地方需要修改。首先,第一个`for`循环应当将`s`中的字符正序放入`t`,但目前的代码没有完成这一任务,应该在`for`循环内使用`t[i] = s[len - i - 1];`来存储逆序的字符。第二个`for`循环已经正确地将正序字符放入了`t`,但可以删除,因为前面的循环已经完成了同样的工作。因此,修复后的代码应该是:
```c
for(i=len-1; i>=0; i--)
t[i]=s[i];
for(i=0; i<len; i++)
t[len+i]=s[len-i-1];
t[2*len]='\0';
```
第二题是处理长整型数值,要求从低位取出奇数位的数字,组成新的数`t`。代码中的两个`found`标记处需要调整。首先,`t`的初始值应该是`s`的最低位数字,即`s%10`,而不是`s`本身。其次,`sl`(scale factor)应随着循环进行每次乘以10,以便正确地累加奇数位数字。修正后的代码应为:
```c
t=s%10;
while(s>0)
{
s=s/10;
t=(s%10)*sl+t;
sl=sl*10;
}
```
第三题是找出一维数组`arr`中的最大元素及其下标。代码中,`max`变量用于存储最大值,`pos`记录最大值的下标。第一个`found`标记处,`max`应初始化为数组的第一个元素,`pos`初始化为1(因为下标从0开始)。第二个`found`标记处,比较条件应该是`max <= arr[i]`,这样当找到更大的元素时,`max`和`pos`会被更新。修正后的函数应为:
```c
int maxarr(int arr[])
{
int pos=1, i;
max=arr[0];
for(i=1; i<10; i++)
if(max<=arr[i])
{
max=arr[i];
pos=i;
}
return pos;
}
```
注意,这个函数返回的是最大值的下标,而非直接打印结果。实际使用时,需要调用该函数并处理返回值。
2011-06-11 上传
2021-10-13 上传
2021-09-29 上传
2022-07-12 上传
2022-07-13 上传
点击了解资源详情
2024-10-16 上传
u010784305
- 粉丝: 0
- 资源: 1
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析