C语言编程:字符串连接与数组平均值计算
4星 · 超过85%的资源 需积分: 3 39 浏览量
更新于2024-07-31
4
收藏 75KB DOC 举报
"这是一个关于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语言学习者必须掌握的关键概念。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-10 上传
jiangminjun007
- 粉丝: 4
- 资源: 23
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展