二級C語言筆試操作題分類模擬題8_第1頁
二級C語言筆試操作題分類模擬題8_第2頁
二級C語言筆試操作題分類模擬題8_第3頁
二級C語言筆試操作題分類模擬題8_第4頁
二級C語言筆試操作題分類模擬題8_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——二級C語言筆試操作題分類模擬題8二級C語言筆試操作題分類模擬題8

一、程序填空題

1、以下給定程序中,函數(shù)fun的功能是:計算N×N矩陣的主對角線元素和反向?qū)蔷€元素之和,并作為函數(shù)值返回。要求先累加主對角線元素中的值,再累加反向?qū)蔷€元素中的值。

例如,若N=3,有以下矩陣:123456789

首先累加1、5、9,然后累加3、5、7,函數(shù)返回值為30。

請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

#include<stdio.h>#defineN4

fun(intt[][N],intn){

inti,sum;

/***********found***********/______;

for(i=0;i<n;i++)

/************found**********/sum+=______;for(i=0;i<n;i++)

/**********found***********/sum+=t[i][n-i-______];returnsum;}

main(){

int

t[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j;printf(\for(i=0;i<N;i++){

for(j=0;j<N;j++)

printf(\printf(\

printf(\}

二、程序改錯題

1、以下給定程序中,函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個根,并要求絕對誤差不超過0.001。

例如,若給m輸入-100,n輸入90,則函數(shù)求得的一個根為2.000。請改正程序中的錯誤,使它能得出正確的結(jié)果。

注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

#include<stdio.h>#include<math.h>doublefunx(doublex)

{return(2*x*x*x-4*x*x+3*x-6);}doublefun(doublem,doublen){

/***********found**********/intr;

r=-(m+n)/2;

/************found***********/while(fabs(n-m)<0.001){

if(funx(r)*funx(n)<0)m=r;elsen=r;r=(m+n)/2;}returnr;}

main(){

doublem,n,root;

printf(\scanf(\&m,&n);root=fun(m,n);

printf(\}

三、程序設(shè)計題

1、規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的*號外,將串中其他的*號全部刪除。形參h已指向字符串中第一個字母,形參P指向字符串中最終一個字母。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。

例如,若字符串中的內(nèi)容為“****A*BC*DEF*G*******〞,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“****ABCDEFG*******〞。注意:部分源程序給出如下。

請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號

中填入你編寫的若干語句。試題程序:

#include<stdio.h>

voidfun(char*a,char*h,char*p){}

main(){

chars[81],*t,*f;

printf(\gets(s);t=f=s;while(*t)t++;t--;

while(*t=='*')t--;

while(*f=='*')f++;fun(s,f,t);

printf(\puts(s);}

答案:

一、程序填空題

1、sum=0t[i][i]1

[解析]填空1:變量sum用來儲存\和\結(jié)果,所以將其初始化為0。

填空2:從題目中我們可以了解到,主對角線元素的行和列下標(biāo)是一致的,所以應(yīng)填入t[i][i]。

填空3:對于反向?qū)蔷€元素的行和列的下標(biāo),它們的關(guān)系是相加和為n-1,所以應(yīng)填入1。二、程序改錯題

1、(1)doubler;

(2)while(fabs(n-m)>0.001)

[解析](1)程序中我們會發(fā)現(xiàn)r=(m+n)/2,而m和n都是double型的,并且根據(jù)題意可知,變量r需要定義為double型。

(2)絕對誤差不超過0.001,所以循環(huán)條件應(yīng)為fabs(n-m)>0.001。

三、程序設(shè)計題

1、voidfun(char*a,char*h,char*p){inti=0;char*q=a;while(q<h)

{a[i]=*q;q++;i++;}while(q<p)

{if(*q!='*'){a[i]=*q;i++;}q++;}

while(*q)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論