第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
第 8 页:参考答案及解析 |
二、基本操作题程序填空题
【1】k=2【2】s+=(2*k一1)/sl【3】s
【解析】由题目中所给公式可知,多项武的第一项为1。变量s中存放多项式的和,其初始值为l。因此,循环从第二项开始,因此,【1】处填“k=2”;变量sl中存放各项表达武的值,由公式可知,【2】处填“s+=(2*k-1)/sl”;题目中要求将多项式的和返回到主函数当中,因此,【3】处填“s”。
三、程序改错题
(1)错误:int j=1;正确:double j=1.0;
(2)错误:y+=1/(i*i); 正确:y+=j/(i*i);
【解析】由函数proc()可知,变量j的作用是控制每一项符号的变化,并且作为运算的分子,应改为double型变量。因此,“int j=1;”应改为“double j=1.0;”。变量y中存放多项式的值,多项式中的每一项符号由变量j决定。因此,“y+=1/(i*i);”应改为“y+=j/(i*i);”。
四、程序设计题
char*proc(char(*a)[81],int M)
{
char*max;
int i=0:
max=a[O]:
for(i=0;i if(strlen(max) max=a[i];
return max; //返回最长字符串的地址
}
【解析】本题首先要定义一个字符指针用于保存最长的字符串,并使其初始值指向第一个字符串;再循环遍历字符串数组,通过if语句比较字符串的长度,并把最长的字符串地址赋给字符指针;最后返回最长字符串的地址。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |