程序设计基础实验:函数与变量操作
需积分: 0 4 浏览量
更新于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 上传
2022-07-09 上传
2023-09-06 上传
2021-06-11 上传
2023-10-24 上传
Uz165
- 粉丝: 0
- 资源: 1
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能