C语言编程:字符串连接与数组平均值计算
4星 · 超过85%的资源 需积分: 3 50 浏览量
更新于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语言学习者必须掌握的关键概念。
2011-04-24 上传
2021-09-30 上传
2023-05-10 上传
2024-03-05 上传
2023-07-01 上传
2023-09-20 上传
2024-03-25 上传
2023-08-31 上传
jiangminjun007
- 粉丝: 4
- 资源: 22
最新资源
- 使用FLEX 和 Actionscript开发FLASH 游戏(二)
- Linux 那些事儿之我是U 盘
- Cache在嵌入式处理器中的使用问题
- 老友记(friends)词频统计.txt
- 使用FLEX 和 Actionscript开发FLASH 游戏(一)
- sap 增强 badi userexit customerexit
- 信息系统安全技术.doc
- Spring+Struts+Hibernate的详解课件.pdf
- WPF入门电子书--新手入门的开始
- 代码找茬游戏 PHP
- matlab统计函数
- llinux设备驱动程序(第三版)
- linux内核完全注释
- 内存DC介绍及其使用
- 难得的EXTJS中文手册
- asp 生成 html 代码