C语言编程题目解析:上机考试重点
需积分: 16 28 浏览量
更新于2024-10-15
1
收藏 30KB TXT 举报
"该资源包含了计算机二级C语言考试中的上机编程题目,旨在帮助备考者进行练习和提高。包括了四个不同的编程问题,涵盖了数组处理、条件判断、循环控制等基本C语言编程技能。"
在计算机二级C语言的上机编程部分,考生需要具备扎实的编程基础和良好的逻辑思维能力。以下是对给定文件中四个编程题目的详细解释:
1. 题目1要求编写一个函数`fun`,该函数接收一个整数数组`score`,数组的长度`m`以及一个用于存储结果的数组`below`。函数的主要目的是计算数组`score`的平均值,并找出所有低于平均分的分数,将这些分数存入`below`数组中。这个题目考察的是数组操作、循环控制、条件判断以及算术运算。
```c
int fun(int score[], int m, int below[])
{
int i, k = 0, aver = 0;
for (i = 0; i < m; i++) // 计算数组平均值
aver += score[i];
aver /= m;
for (i = 0; i < m; i++) // 查找低于平均值的元素
if (score[i] < aver) {
below[k] = score[i];
k++;
}
return k; // 返回低于平均值的元素个数
}
```
2. 题目2要求编写一个函数`fun`,该函数接收一个整数指针数组`a`和一个整型变量`n`的指针。这个函数的目的是找出1到1000之间,同时能被7或11整除但不能被77整除的数,并将这些数存储到数组`a`中,同时更新`n`的值以表示存储的元素个数。此题考察了整数除法、模运算以及嵌套循环。
```c
void fun(int *a, int *n)
{
int i, j = 0;
for (i = 2; i <= 1000; i++) // 遍历范围内的所有数字
if ((i % 7 == 0 || i % 11 == 0) && i % 77 != 0) // 满足条件的数字
a[j++] = i; // 存储到数组并更新计数器
*n = j; // 更新元素个数
}
```
3. 题目3要求编写一个函数`fun`,该函数接收一个整数`x`,一个整数数组`pp`以及一个整型变量`n`的指针。函数需要找到所有小于等于`x`且能被`x`整除的奇数,并将它们存入`pp`数组,同时更新`n`的值表示存储的奇数个数。此题涉及到对奇数的判断、整数除法和条件控制。
```c
void fun(int x, int pp[], int *n)
{
int i = 1, j = 0, k = 0, *t = pp;
for (i = 0; i <= x; i++) // 找出所有小于等于x的奇数
if (i % 2 != 0) {
t[j] = i;
j++;
}
for (i = 0; i < j; i++) // 筛选出能被x整除的奇数
if (x % t[i] == 0) {
pp[k] = t[i];
k++;
}
*n = k; // 更新元素个数
}
```
4. 题目4要求编写一个函数`fun`,该函数接收一个字符串`tt`和一个整数数组`pp`。函数应统计字符串`tt`中每个小写字母出现的次数,并将结果存储到`pp`数组中,数组索引对应字母在字母表中的位置(a=0, b=1, ...)。这道题目涉及到了字符处理、字符串遍历以及switch-case语句。
```c
void fun(char *tt, int pp[])
{
int i;
for (i = 0; i < 26; i++) // 初始化数组为0
pp[i] = 0;
while (*tt) // 遍历字符串
{
switch (*tt)
{
case 'a': pp[0]++; break;
case 'b': pp[1]++; break;
case 'c': pp[2]++; break;
// 依次类推,直到'z'
}
tt++; // 移动到下一个字符
}
}
```
以上四个编程题分别测试了C语言中的不同知识点,如数组处理、条件判断、循环控制、算术运算以及字符串处理,这些都是C语言学习的基础。对于准备计算机二级C语言考试的考生来说,熟练掌握这些内容至关重要。通过解决这类题目,考生可以提升自己的编程能力,更好地应对考试。
2024-03-25 上传
2023-09-20 上传
2024-03-05 上传
2023-08-31 上传
2023-10-22 上传
2023-08-05 上传
yubingcai
- 粉丝: 0
- 资源: 5
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析