"C语言基础上机考试题中的函数fun的功能及实例解析"
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
题目要求在给定的源程序中填入正确的内容,使得程序能够实现指定功能。源程序中定义了一个函数fun,其功能是将形参n所指的变量中列位上为偶数的数去除,剩余的数按原来从高位到低位的次序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数27638496,新的数为739。 源程序中给定的结构如下: ```c #include <stdio.h> void fun(int *n) { int m = 0, s = 1; while (*n > 0) { if (*n % 2 != 0) { m += (*n % 10) * s; s *= 10; } *n /= 10; } *n = m; } int main() { int num = 27638496; fun(&num); printf("New number: %d\n", num); return 0; } ``` 在给定的源程序中,函数fun的实现存在一些问题,例如在进行索引数字时,会导致顺序问题。因此,需要对fun函数进行改进,使其能够正确实现题目要求的功能。 通过分析原始程序,我们发现问题所在,找到了正确的内容并更新源代码如下: ```c #include <stdio.h> void fun(int *n) { int m = 0, s = 1; int temp = *n; while (temp > 0) { if (temp % 10 % 2 != 0) { m += temp % 10 * s; s *= 10; } temp /= 10; } *n = m; } int main() { int num = 27638496; fun(&num); printf("New number: %d\n", num); return 0; } ``` 在给定的源程序中,我们对fun函数做了改进,增加了一个新的变量temp,并将其赋值为形参n的值。然后在循环内部,使用temp进行操作,避免了修改形参n的值,从而导致顺序问题。同时,在进行索引数字时,我们对原来的条件进行了修改,使其能够正确符合题目要求的功能。 通过以上改进,我们保持了源程序的结构,同时实现了题目要求的功能。经过验证,程序可以正确输出新的数739,满足了题目的要求。
剩余25页未读,继续阅读
- 粉丝: 26
- 资源: 2万+
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析