程序设计基础实验:函数与变量操作
需积分: 0 102 浏览量
更新于2024-08-03
收藏 205KB DOCX 举报
"实验七函数.docx"
实验七的目的是深入理解和掌握C语言中的函数操作,包括函数的定义、调用、参数传递以及不同类型的变量在函数中的应用。实验内容涉及了多个方面,如数值计算、位操作、数字处理以及数组处理。
1. 题目要求实现一个名为`fun`的函数,该函数根据输入的参数`x`返回一个经过特定计算后的值。题目给出的输出提示表明,当`x`为负数时,返回值为其绝对值乘以100加0.6;当`x`为非负数时,返回值为`x`乘以100。因此,可以这样补充`fun`函数:
```c
double fun(double x)
{
if (x < 0)
return abs(x) * 100 + 0.6;
else
return x * 100;
}
```
2. 第二个题目要求编写一个函数`fun`,该函数接收一个正整数`x`,并将其中的偶数位数字提取出来组成新的整数`y`。在代码中,`d`是`x`的个位数,如果`d`是偶数(`d % 2 == 0`),则将其加入到`y`中。`x`应除以10(`x /= 10`)以移除最低位数字。最后返回`y`。因此,填充空白处的代码如下:
```c
int fun(int x)
{
int y, d, s;
s = 1;
y = 0;
while (x > 0)
{
d = x % 10;
if (d % 2 == 0)
{
y = s * d + y;
s = s * 10;
}
x /= 10;
}
return y;
}
```
3. 第三个题目要求找出100到999之间的所有能被8整除且左右对称的三位数。为此,我们可以编写一个`fun`函数来检查一个三位数是否满足条件。这个函数可以检查百位和个位是否相等,十位是否为0,且整个数能被8整除。例如:
```c
int fun(int m)
{
return (m % 8 == 0 && m / 100 == m % 10);
}
int main()
{
for (int i = 100; i <= 999; i++)
{
if (fun(i))
printf("%d ", i);
}
return 0;
}
```
4. 最后一个题目是处理一个数组`a`,找出其中满足特定条件的元素。由于题目没有明确给出条件,我们假设是寻找数组中所有能被3整除的数。可以编写一个函数`fun`来检查数组元素,并在主函数中遍历数组:
```c
int fun(int m)
{
return m % 3 == 0;
}
int main()
{
int a[] = {1, 6, 9, 12, 14, 18, 19, 22, 25, 27, 29, 30, 35, 3};
int n = sizeof(a) / sizeof(a[0]);
for (int i = 0; i < n; i++)
{
if (fun(a[i]))
printf("%d ", a[i]);
}
return 0;
}
```
这些实验有助于加深对函数、参数传递、变量作用域和数组操作的理解,是学习C语言编程的基础实践。
2021-12-16 上传
2022-12-18 上传
2021-11-23 上传
2021-10-12 上传
220 浏览量
2023-09-06 上传
144 浏览量
2023-10-24 上传

Uz165
- 粉丝: 0
最新资源
- 掌握Qt QSS样式自定义技巧与实例分析
- 维护代码清晰度:TypeScript导入自动组织神器
- 36W反激式开关电源设计原理图与PCB布局
- 芯片精灵:U盘真伪鉴别与主控芯片检测工具
- PLC FINS通信监控系统实现对多种设备控制
- Python开发的test_app应用介绍
- React Native图像滑块组件:快速响应本地化实现
- PDF虚拟打印机:文档转换成PDF解决方案
- 2021年66天数据挑战:目标执行100天的Jupyter数据调用
- ACCESS结合VBA编程在资料库中的应用实践
- Apache Maven 3.3.3 官方二进制版下载
- HLS.js:打造无需Flash的纯JS HTML5视频播放器
- U盘验证技术:提升Windows开机安全性
- HTML5音频播放器:无需Flash支持的全网最强
- AppStream生成器:Linux软件元数据与唯一ID快速创建工具
- 高效识别远峰主板真伪的便捷工具