2016年計算機二級C語言上機試試題及答案
一、程序改錯題(共24分)
下列給定程序中,函數proc()的功能是根據整型形參n,計算如下公式的值:
Y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)
例如,n中的值為l0,則應輸出0.817962。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
#include
#include
#include
double proc(int n)
{
double y=1.0;
f|****found****
int J=1; .
int i;
for(i=2;i<=n;i++)
{
j=-l*j;//****found****
y+=1/(i*i);
)
return(y);
)
void main()
{
int n=10:
system("CLS"):
printf("nThe result is%lfn",proc(n));
)
二、程序設計題(共18分)
編寫一個函數,從傳人的M個字符中找出最長的一個字符串,並通過形參指針max傳回該串地址(用****作為結束輸入的標誌)。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的`若干語句。
試題程序:
#include
#include
#include
char*proc(char(*a)[81],int num)
{
)
void main()
{
char ss[l0][81],*max;
int n,i=0;
printf("輸入若干個字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")= =0)
{
i++:
gets(ssEi]);
puts(ss[i]);
)
n=i:
max=proe(SS,n);
printf("nmax=%sn",max);
}
【參考答案及解析】
程序改錯題
(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語句比較字符串的長度,並把最長的字符串地址賦給字符指針;最後返回最長字符串的地址。
-
計算機一級《MS Office》考前鞏固試題2016
選擇題1.執行二進制邏輯乘運算(即邏輯與運算)01011001∧10100111其運算結果是__________.A.00000000B.1111111C.00000001D.11111102.下列幾種存儲器,存取週期最短的是__________.A.內存儲器B.光盤存儲器C.硬盤存儲器D.軟盤存儲器3.在微型計算機內存儲器中不...
-
2017年9月計算機一級《WPS》模擬題及答案
2017下半年計算機等級考試時間9月23日-26日,目前進入了備考的階段。下面是小編分享的2017年9月計算機一級《WPS》模擬題及答案,歡迎大家練習!1.計算機硬件由(C)、存儲器、輸入/輸出設備、總線等幾大部分組成。A.主機B.控制器D.顯示器2使用outlookExpress操作電子...
-
計算機一級《MS Office》考前訓練題2016
訓練題一1、在計算機內部用來傳送、存儲、加工處理的數據或指令所採用的形式是()。A.十進制碼B.二進制碼C.八進制碼D.十六迸制碼2、存儲一個48×48點陣的漢字字形碼需要的字節個數是()。A.384B.288C.256D.1443、下列各選項中,不屬於Intemet應用的是()。A....
-
計算機一級Photoshop練習題:多選題
導語:試題的練習,能夠幫助考生們熟悉科目題型特點,提高大家的答題速度。計算機一級考試臨近,小編整理了計算機一級Photoshop練習題:多選題,一起來學習下吧:1.Photoshop中導致使用“定義圖案”命令操作失敗的原因可能是下面的哪幾個:A.沒有選擇區域B.選擇區域具有羽化效...