2012年9月计算机二级程序填空题解:函数与字符统计

需积分: 10 3 下载量 166 浏览量 更新于2024-07-28 收藏 211KB DOC 举报
1. **2012年9月计算机二级程序填空题详解** 在2012年9月的计算机二级等级考试上机题库中,包含两道程序填空题,主要考察了C语言基础和函数编程能力。 第一题是关于函数功能实现。函数`fun`接受一个整型参数`i`和两个double类型的参数`x`和`y`,根据条件返回两个不同数学运算的结果。题目要求当`i`等于1时,函数返回`x`的平方(即`x*x`);当`i`不等于1时,返回`x`和`y`的乘积(即`x*y`)。正确填写的代码如下: ```c double fun(int i, double x, double y) { if (i == 1) { return f1(x); // 函数f1的调用 } else { return f2(x, y); // 函数f2的调用 } } ``` 第二题涉及字符串处理,函数`fun`的任务是在输入的字符串`s`中找出出现频率最高的字母及其出现次数。通过将所有字母转换为小写(使用`tolower`函数)并统计每个字母的计数(数组`k`),找出最高频字母。正确填写的部分如下: ```c void fun(char* s) { int k[26] = {0}; // 初始化字母计数数组 char ch; while (*s) { if (isalpha(*s)) { ch = tolower(*s); // 转换为小写 n = ch - 'a'; // 计算字母在数组中的索引 k[n]++; } } // 在这里可以添加代码来遍历数组,找出最高频字母及其次数 } ``` 这两道题都要求考生熟悉C语言的基本语法、控制结构以及函数的调用,同时对字符串操作有一定了解。解题时要注意保持代码的整洁和语义清晰,避免增行或删行,也切勿改变原有程序结构。