第 1 頁:程序填空題 |
第 2 頁:程序改錯題 |
第 3 頁:程序設計題 |
第 4 頁:參考答案 |
上機考試試題答案與解析
一、程序填空題
【1】k=2【2】s+=(2*k一1)/sl【3】s
【解析】由題目中所給公式可知,多項式的第一項為1。變量s中存放多項式的和,其初始值為l。因此,循環(huán)從第二項開始,因此,【1】處填“k=2”;變量sl中存放各項表達式的值,由公式可知,【2】處填“s+=(2*k-1)/s1”;題目中要.求將多項式的和返回到主函數(shù)當中,因此,【3】處填“s”。
二、程序改錯題
(1)錯誤:int j=1;
正確:doublej=1.0;
(2)錯誤:y+=1/(i*i);
正確:y+=i/(i*);
【解析】由函數(shù)proc()可知,變量j的作用是控制每一項符號的變化,并且作為運算的分子,應改為double型變量。因此,“intj=1;”應改為“doublej=1.0;”。變量y中存放多項式的值,多項式中的每一項符號由變量j決定。因此,“y +=t/(i*i);”應改為“y+=j/(i*i);”。
三、程序設計題
char*proc(char(* a)[81],int M)
{
char*max;
int i=0:
max=a[0];
for(i=0;i if(strlen(max) 符串
max=a[i];
return max; //返回最長字符串的地址
}
【解析】本題首先要定義一個字符指針用于保存最長的字符串,并使其初始值指向第一個字符串;再循環(huán)遍歷字符串數(shù)組,通過if語句比較字符串的長度,并把最長的字符串地址賦給字符指針;最后返回最長字符串的地址。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |