C语言编程:字符串连接与数组平均值计算

"这是一个关于2011年3月计算机二级C语言上机考试的题库,其中包含了两个填空题目,分别涉及字符串拼接和数组平均值计算的问题。"
第一题解析:
题目要求编写一个函数`fun()`,该函数接收两个字符串`str1`和`str2`作为参数,然后将`str2`拼接到`str1`的末尾。在提供的代码中,`void fun(char* str1, char* str2)`是待填充的函数。在解答过程中:
1. `while(【1】)`:这部分的目的是计算`str1`的长度。应填入`*(p1+i) != '\0'`,当`p1`指向的字符不是字符串结束标志'\0'时,继续执行循环,直到找到'\0'为止。
2. `for(;【2】; i++)`:这个for循环用于将`str2`的字符逐个复制到`str1`的末尾。`【2】`的条件应该是`*p2 != '\0'`,表示在`p2`未到达`str2`的结束标志之前,继续复制。
3. `*(p1+i)=【3】;`:这部分要将`str2`当前指针位置的字符赋值给`str1`的新位置。所以应填入`*p2`,这样可以将`p2`指向的字符复制到`p1+i`的位置。然后,`*p2++`会使得`p2`指向下一位字符,以便下一次循环。
完整后的代码段如下:
```c
void fun(char* str1, char* str2)
{
int i = 0;
char* p1 = str1;
char* p2 = str2;
while (*(p1 + i) != '\0')
i++;
for (; *p2 != '\0'; i++)
*(p1 + i) = *p2++;
*(p1 + i) = '\0';
}
```
第二题解析:
题目要求编写一个函数`fun()`,计算一维数组`x[N]`的平均值,并四舍五入保留两位小数。函数的原型可能类似于`double fun(double x[], int N)`。解答如下:
1. 首先,初始化一个变量`sum`来存储数组元素的总和,然后遍历数组,将每个元素累加到`sum`。
2. 计算平均值`avg`,即`sum`除以数组长度`N`。
3. 使用`printf`或其他方法将结果格式化为保留两位小数的浮点数。可以使用`%.2lf`格式说明符来实现这一需求。
示例代码可能如下:
```c
double fun(double x[], int N)
{
double sum = 0.0;
for (int i = 0; i < N; i++)
sum += x[i];
double avg = sum / N;
return avg;
}
// 在main函数中调用
double array_avg = fun(x, 10);
printf("avg = %.2lf\n", array_avg);
```
这两个题目涵盖了C语言的基础知识,包括字符串操作、指针的使用以及数组的处理,这些都是C语言学习者必须掌握的关键概念。
115 浏览量
113 浏览量
点击了解资源详情
2021-09-30 上传
2011-04-24 上传
2021-09-30 上传
2011-03-27 上传
2021-10-27 上传
2021-10-10 上传

jiangminjun007
- 粉丝: 4
最新资源
- 深入解析JavaWeb中Servlet、Jsp与JDBC技术
- 粒子滤波在视频目标跟踪中的应用与MATLAB实现
- ISTQB ISEB基础级认证考试BH0-010题库解析
- 深入探讨HTML技术在hundeakademie中的应用
- Delphi实现EXE/DLL文件PE头修改技术
- 光线追踪:探索反射与折射模型的奥秘
- 构建http接口以返回json格式,使用SpringMVC+MyBatis+Oracle
- 文件驱动程序示例:实现缓存区读写操作
- JavaScript顶盒技术开发与应用
- 掌握PLSQL: 从语法到数据库对象的全面解析
- MP4v2在iOS平台上的应用与编译指南
- 探索Chrome与Google Cardboard的WebGL基础VR实验
- Windows平台下的IOMeter性能测试工具使用指南
- 激光切割板材表面质量研究综述
- 西门子200编程电缆PPI驱动程序下载及使用指南
- Pablo的编程笔记与机器学习项目探索