




已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第50套: 給定程序中,函數(shù)fun的功能是:有NN矩陣,以主對角線為對稱線,對稱元 素相加并將結(jié)果存放在左下三角元素中,右上三角元素置為0。例如,若N=3,有 下列矩陣: 1 2 3 4 5 6 7 8 9 計算結(jié)果為 1 0 0 6 5 0 10 14 9 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #define N 4 /*found*/ void fun(int (*t)_1_ ) /* 宏為世紀教育 */ int i, j; for(i=1; iN; i+) for(j=0; ji; j+) /*found*/ _2_ =tij+tji; /*found*/ _3_ =0; main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(nThe original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); 解題思路: 第一處:形參t的定義,整數(shù)數(shù)組其寬度為N,所以應填:N。 第二處:對稱元素相加,其結(jié)果仍存放在左下三角元素中,所以應填:tij。 第三處:右上三角元素置為0,所以應填:tji。 * 給定程序MODI1.C中函數(shù)fun的功能是:計算函數(shù) F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。 例如,當x的值為9、y的值為11、z的值為15時,函數(shù)值為 -3.50。 請改正程序中的錯誤,使它能得出正確結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構。 給定源程序: #include #include #include /*found*/ #define FU(m,n) (m/n) float fun(float a,float b,float c) float value; value=FU(a+b,a-b)+FU(c+b,c-b); /*found*/ Return(Value); /* 宏為世紀教育 */ main() float x,y,z,sum; printf(Input x y z: ); scanf(%f%f%f,&x,&y,&z); printf(x=%f,y=%f,z=%fn,x,y,z); if (x=y|y=z)printf(Data error!n);exit(0); sum=fun(x,y,z); printf(The result is : %5.2fn,sum); 解題思路: 第一處:define定義錯誤,所以應改為:#define FU(m,n) (m)/(n)。 第二處:return錯寫成Return,變量value錯寫成Value。 * 規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字 符串中的前導*號全部刪除,中間和尾部的*號不刪除。 例如,字符串中的內(nèi)容為:*A*BC*DEF*G*,刪除后,字符串中的內(nèi) 容應當是:A*BC*DEF*G*。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。 注意: 部分源程序在文件PROG1.C中。 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。 給定源程序: #include void fun( char *a ) main() char s81; printf(Enter a string:n);gets(s); fun( s ); printf(The string after deleted:n);puts(s); NONO(); 解題思路: /* 宏為世紀教育 */ 本題是考察字符串的操作。 1. 利用循環(huán)掃描出字符串左邊第1個字符不是*的字符。 2. 再利用循環(huán)把以后的字符依次移動原字符串首地址開始存放。 3. 最后給字符串a(chǎn)加上結(jié)束符。 參考答案: void fun( char *a ) int j=0; char *p = a ; while(*p = *) p+ ; while(*p) aj+ = *p ; p+; aj=0 ; 第51套: 給定程序中,函數(shù)fun的功能是:計算出形參s所指字符串中包含的單詞個數(shù), 作為函數(shù)值返回。為便于統(tǒng)計,規(guī)定各單詞之間用空格隔開。 例如,形參s所指的字符串為:This is a C language program.,函數(shù) 的返回值為6。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 /* 宏為世紀教育 */ 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include int fun(char *s) int n=0, flag=0; while(*s!=0) if(*s!= & flag=0) /*found*/ _1_ ; flag=1; /*found*/ if (*s= ) flag= _2_ ; /*found*/ _3_ ; return n; main() char str81; int n; printf(nEnter a line text:n); gets(str); n=fun(str); printf(nThere are %d words in this text.nn,n); 解題思路: 本題是統(tǒng)計字符串中包含的單詞個數(shù)。 第一處:單詞個數(shù)用變量n來統(tǒng)計,當當前字母不是空格且flag狀態(tài)標志為0時,則單詞數(shù)就加1,將狀態(tài)標志flag置為1,所以應填:n+。 第二處:當當前字符是空格時,flag狀態(tài)標志置0,所以應填:0。 第三處:到字符串下一個位置,所以應填:s+。 * 給定程序MODI1.C中函數(shù) fun 的功能是:從n(形參)個學生的成績中統(tǒng)計出低 于平均分的學生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲單 元中。 例如,若輸入 8 名學生的成績:80.5 60 72 90.5 98 51.5 88 64 則低于平均分的學生人數(shù)為: 4 (平均分為:75.5625 )。 請改正程序中的錯誤,使它能統(tǒng)計出正確的結(jié)果。 注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #define N 20 int fun ( float *s, int n, float *aver ) float ave, t = 0.0 ; int count = 0, k, i ; for ( k = 0 ; k n ; k+ ) /*found*/ t = sk ; ave = t / n ; for ( i = 0 ; i n ; i+ ) /* 宏為世紀教育 */ if ( s i ave ) count+ ; /*found*/ *aver = Ave ; return count ; main() float s30, aver ; int m, i ; printf ( nPlease enter m: ) ; scanf (%d, &m ) ; printf ( nPlease enter %d mark :n , m ) ; for( i = 0 ; i m ; i+ ) scanf ( %f, s + i ) ; printf( nThe number of students : %d n , fun ( s, m, &aver ) ); printf( Ave = %fn, aver ) ; 解題思路: 第一處:應求累加和,而不賦值,所以應改為t+=sk;。 第二處:ave不需要取地址,直接賦給*aver就可以了。 * 請編寫函數(shù)fun,其功能是求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所 指的存儲單元中。 例如, 輸入如下整數(shù): 876 675 896 101 301 401 980 431 451 777 則輸出結(jié)果為: 6, 980 注意: 部分源程序在文件PROG1.C文件中。 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。 給定源程序: #include int fun(int *s, int t, int *k) main( ) int a10=876,675,896,101,301,401,980,431,451,777, k ; fun(a, 10, &k) ; printf(%d, %dn, k, ak) ; NONO( ) ; 解題思路: 本題是考察考生如何在指定的數(shù)組找出最大元素值的下標,通過形參*k返回到主程序中。 給出的程序是使用for循環(huán)語句進行處理的,在循環(huán)之前,首先把數(shù)組的第一個元素值賦給最大值變量max,位置pos為0,然后通過循環(huán)依次判斷下一元素值是否大于最大值max,如果大于,那么把這個數(shù)重新賦給max,位置i賦給pos,循環(huán)結(jié)果,即可得到最大值的位置pos,最后執(zhí)行語句*k=pos就可以實現(xiàn)返回了。 參考答案: int fun(int *s, int t, int *k) int i, pos = 0, max = *s ; for(i = 1 ; i t ; i+) if(max *(s + i) max = *(s + i) ; pos = i ; *k = pos ; 第52套: 給定程序中,函數(shù)fun的功能是:將NN矩陣中元素的值按列右移1個位置, /* 宏為世紀教育 */ 右邊被移出矩陣的元素繞回左邊。例如,N=3,有下列矩陣 1 2 3 4 5 6 7 8 9 計算結(jié)果為 3 1 2 6 4 5 9 7 8 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #define N 4 void fun(int (*t)N) int i, j, x; /*found*/ for(i=0; i=1; j-) tij=tij-1; /*found*/ ti_3_=x; main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(The original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); 解題思路: 第一處:函數(shù)fun是對NN矩陣進行操作,for循環(huán)的終止值為N。 第二處:把最后一列的元素值賦值給臨時變量x保存用來交換,所以應填:N-1。 第三處:第1列元素值使用x替換,由于C語言的下標是從0開始的,所以應填:0。 * /* 宏為世紀教育 */ 例如,若q的值為: 50.0,則函數(shù)值為: 49.394948。 請改正程序中的錯誤,使程序能輸出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include double fun( double q ) int n; double s,t; n = 2; s = 2.0; while (s=q) t=s; /*found*/ s=s+(n+1)/n; n+; printf(n=%dn,n); /*found*/ return s; main ( ) printf(%fn, fun(50); 解題思路: 第一處:如果兩個整數(shù)類型相除,結(jié)果仍為整數(shù),所以必須轉(zhuǎn)換其中一個數(shù)的類型,所以應改為:s+=(float)(n+1)/n;。 第二處:返回結(jié)果錯誤,應改為:return t;。 * 編寫函數(shù)fun,它的功能是:求Fibonacci數(shù)列中大于t的最小的一個數(shù),結(jié)果 由函數(shù)返回。其中Fibonacci數(shù)列F(n)的定義為: F(0)0,F(xiàn)(1)1 F(n)F(n1)F(n2) 例如:當t = 1000時,函數(shù)值為:1597。 注意: 部分源程序在文件PROG1.C中。 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。 給定源程序: #include #include int fun( int t) /* 宏為世紀教育 */ main() /* 主函數(shù) */ int n; n=1000; printf(n = %d, f = %dn,n, fun(n); NONO(); 解題思路: 本題是考察考生用遞推算法來求出斐波那契數(shù)列中每項的值。給出的程序就是用變量f、f0 和f1來表示遞推的過程,給變量f0和f1最初分別置數(shù)列中第1項和第2項的值0和1,然后進入循環(huán),執(zhí)行語句f=f0+f1;將所得和值存入f中,這就是數(shù)列的第3項,把f1的值移入f0中,將f的值移入f1中,為求數(shù)列的下一列作好準備;接著進入下一次循環(huán),通過語句f=f0+f1求得數(shù)列的第4項,不斷重復以上步驟,每重復一次就依次求得數(shù)列的下一項,直至某項滿足要為止。 參考答案: int fun( int t) int f0 = 0, f1 = 1, f ; do f = f0 + f1 ; f0 = f1 ; f1 = f ; while(f t) ; return f ; 第53套: 函數(shù)fun的功能是:計算 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #include double fun(double x) double f, t; int n; f = 1.0 + x; /*found*/ t = _1_; n = 1; do n+; /*found*/ t *= (-1.0)*x/_2_; f += t; /*found*/ while (_3_ = 1e-6); return f; /* 宏為世紀教育 */ main() double x, y; x=2.5; y = fun(x); printf(nThe result is :n); printf(x=%-12.6f y=%-12.6fn, x, y); 解題思路: 第一處:根據(jù)公式可知,變量t的值為x。 第二處:根據(jù)公式可知,此處應該除以n,所以應填:n。 第三處:根據(jù)試題中條件的要求,所以應填:fabs(t)。 * 給定程序MODI1.C中函數(shù)fun的功能是: 求整數(shù)x的y次方的低3位值。例如,整 數(shù)5的6次方為15625, 此值的低3位值為625。 請改正函數(shù)fun中指定部位的錯誤, 使它能得出正確的結(jié)果。 注意: 不要改動main函數(shù), 不得增行或刪行, 也不得更改程序的結(jié)構! 給定源程序: #include long fun(int x,int y,long *p ) int i; long t=1; /*found*/ for(i=1; iy; i+) t=t*x; *p=t; /*found*/ t=t/1000; return t; main() long t,r; int x,y; printf(nInput x and y: ); scanf(%ld%ld,&x,&y); t=fun(x,y,&r); printf(nnx=%d, y=%d, r=%ld, last=%ldnn,x, y,r,t ); 解題思路: 第一處:錯誤在for循環(huán)語句上,根據(jù)試題要求,終止條件應該是i=y。 第二處:要取低3位的值時,應模1000取余數(shù),而不是整除1000取商。 * 例如, 在主函數(shù)中從鍵盤給x輸入0.21后,輸出為:s=1.100000。 注意: 部分源程序在文件PROG1.C中。 /* 宏為世紀教育 */ 請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容, 僅在函數(shù)fun的 花括號中填入你編寫的若干語句。 給定源程序: #include #include double fun(double x) main() double x,s; printf(Input x: ); scanf(%lf,&x); s=fun(x); printf(s=%fn,s); NONO(); 解題思路: 本題是根據(jù)給定的公式進行計算。具體操作請看答案程序中的說明。 參考答案: double fun(double x) int n=1; /* 循環(huán)計數(shù)*/ double sn=1; /* 累計數(shù)*/ double xn=1,xn1=0; /*x的n值,以及x的n-1值;*/ while(fabs(xn-xn1)=0.000001)/*絕對值是否滿足條件*/ xn=xn*x*(0.5-n+1)/n; /*表達式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/ n+=1; sn+=xn; /*sn累加上xn*/ return(sn); 第54套: 給定程序中,函數(shù)fun的功能是:計算出帶有頭結(jié)點的單向鏈表中各結(jié)點數(shù)據(jù) 域中值之和作為函數(shù)值返回。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #include #define N 8 typedef struct list int data; struct list *next; SLIST; SLIST *creatlist(int *); void outlist(SLIST *); int fun( SLIST *h) SLIST *p; int s=0; p=h-next; while(p) /*found*/ s+= p-_1_; /*found*/ p=p-_2_; return s; /* 宏為世紀教育 */ main() SLIST *head; int aN=12,87,45,32,91,16,20,48; head=creatlist(a); outlist(head); /*found*/ printf(nsum=%dn, fun(_3_); SLIST *creatlist(int a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h; void outlist(SLIST *h) SLIST *p; p=h-next; if (p=NULL) printf(The list is NULL!n); else printf(nHead ); do printf(-%d, p-data); p=p-next; while(p!=NULL); printf(-Endn); 解題思路: 本題是計算出帶有頭結(jié)點的單向鏈表中各結(jié)點數(shù)據(jù)域中值之和。 第一處:累加數(shù)據(jù)域中的值,所以應填:data。 第二處:指定p的下一個指針,所以應填:next。 第三處:函數(shù)調(diào)用,在主函數(shù)中已經(jīng)給出了head,所以應填:head。 * 給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符 串相同的子串全部替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。在此 處,要求t1和t2所指字符串的長度相同。 例如,當s所指字符串中的內(nèi)容為:abcdabfab,t1所指子串中的內(nèi)容為: ab,t2所指子串中的內(nèi)容為:99時, 結(jié)果在w所指的數(shù)組中的內(nèi)容應為: 99cd99f99。 請改正程序中的錯誤,使它能得出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #include int fun (char *s, char *t1, char *t2 , char *w) /* 宏為世紀教育 */ int i; char *p , *r, *a; strcpy( w, s ); while ( *w ) p = w; r = t1; /*found*/ while ( r ) if ( *r = *p ) r+; p+; else break; if ( *r = 0 ) a = w; r = t2; while ( *r ) /*found*/ *a = *r; a+; r+ w += strlen(t2) ; else w+; main() char s100, t1100, t2100, w100; printf(nPlease enter string S:); scanf(%s, s); printf(nPlease enter substring t1:); scanf(%s, t1); printf(nPlease enter substring t2:); scanf(%s, t2); if ( strlen(t1)=strlen(t2) ) fun( s, t1, t2, w); printf(nThe result is : %sn, w); else printf(Error : strlen(t1) != strlen(t2)n); 解題思路: 第一處:判斷字符串當前字符是否是字符串結(jié)束符,所以應改為:while(*r)。 第二處:語句后缺少分號。 * 函數(shù)fun的功能是:將s所指字符串中下標為偶數(shù)的字符刪除,串中剩余字符 形成的新串放在t所指數(shù)組中。 例如,當s所指字符串中的內(nèi)容為:ABCDEFGHIJK, 在t所指數(shù)組中的內(nèi)容應是:BDFHJ。 注意: 部分源程序存在文件PROG1.C中。 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。 給定源程序: #include #include void fun(char *s, char t) /* 宏為世紀教育 */ main() char s100, t100; printf(nPlease enter string S:); scanf(%s, s); fun(s, t); printf(nThe result is: %sn, t); NONO(); 解題思路: 本題是從一個字符串按要求生成另一個新的字符串。我們使用for循環(huán)語句來解決這個問題。 參考答案: void fun(char *s, char t) int i, j = 0 ; for(i = 1 ; i strlen(s); i+=2) tj+ = si ; tj = 0 ; 第55套: 給定程序中,函數(shù)fun的功能是:判斷形參s所指字符串是否是回文 (Palindrome),若是,函數(shù)返回值為1;不是,函數(shù)返回值為0?;匚?是正讀和反讀都一樣的字符串(不區(qū)分大小寫字母)。 例如,LEVEL和Level是回文,而LEVLEV不是回文。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include #include #include int fun(char *s) char *lp,*rp; /*found*/ lp= _1_ ; rp=s+strlen(s)-1; while(toupper(*lp)=toupper(*rp) & (lprp) ) /*found*/ lp+; rp _2_ ; /*found*/ if(lprp) _3_ ; else return 1; main() char s81; printf(Enter a string: ); scanf(%s,s); if(fun(s) printf(n%s is a Palindrome.nn,s); else printf(n%s isnt a Palindrome.nn,s); 解題思路: 本題是判斷字符串是否是“回文”。 /* 宏為世紀教育 */ 第一處:根據(jù)函數(shù)體fun中,對變量lp的使用可知,lp應指向形參s,所以應填:s。 第二處:rp是指向字符串的尾指針,當每做一次循環(huán)rp指向就要指向前一個字符,所以應填:-。 第三處:當lp和rp相等時,則表示字符串是回文并返回1,否則就返回0,所以應填:return 0。 * 給定程序MODI1.C中fun函數(shù)的功能是:求出以下分數(shù)序列的前n項之和。 2 3 5 8 13 21 , , , , , , 1 2 3 5 8 13 和值通過函數(shù)值返回main函數(shù)。 例如,若 n = 5,則應輸出: 8.391667。 請改正程序中的錯誤,使它能得出正確的結(jié)果。 注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include /*found*/ fun (int n ) int a = 2, b = 1, c, k ; double s=0.0 ; for ( k = 1; k = n; k+ ) s = s + 1.0 * a / b ; /*found*/ c = a; a += b; b += c; return(s) ; main( ) int n = 5 ; printf( nThe value of function is: %lfn, fun ( n ) ) ; 解題思路: 第一處:由于計算的實型值要通過函數(shù)返回,所以必須定義函數(shù)的返回類型,只要int或void 可以省略,其他都要定義類型。由于返回是實型值,所以應在數(shù)名前加上double或float等定義。 第二處:根據(jù)公式可知,在for循環(huán)內(nèi)b的值應是c。 * 請編寫函數(shù)fun,函數(shù)的功能是:將大于形參m且緊靠m的k個素數(shù)存入xx所指 的數(shù)組中。例如,若輸入17, 5,則應輸出:19, 23, 29, 31, 37。函數(shù)fun中給 出的語句僅供參考。 注意: 部分源程序在文件PROG1.C文件中。 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。 給定源程序: #include void fun(int m, int k, int xx) /* 以下代碼僅供參考 */ /* 宏為世紀教育 */ int i, j=1, t=m+1; while(j=k) /* 以下完成判斷素數(shù),并存放到數(shù)組xx中 */ main() int m, n, zz1000 ; printf( nPlease enter two integers:) ; scanf(%d%d, &m, &n ) ; fun( m, n, zz) ; for( m = 0 ; m n ; m+ ) printf(%d , zzm) ; printf(n) ; NONO( ) ; 解題思路: 本題是考察考生如何判斷一個數(shù)是素數(shù),再判斷所求出的素數(shù)是否符合題義要求,如果符合,則存入指定的數(shù)組xx中保存,最后由形參xx返回。 本題是用while循環(huán)語句分別求出5個符合題義的素數(shù)。其中,j是控制變量,m是所求素數(shù)要大于這個數(shù)且還要緊靠這個數(shù),k是所求素數(shù)的個數(shù),j是當前所求第幾個素數(shù)。其中while 循環(huán)體中的for循環(huán)語句是判斷t是否是素數(shù)。 參考答案: void fun(int m, int k, int xx) /* 以下代碼僅供參考 */ int i, j=1, t=m+1; while(j=k) /* 以下完成判斷素數(shù),并存放到數(shù)組xx中 */ /* 宏為世紀教育 */ for(i = 2 ; i t; i+) if(t % i=0) break; if(i=t) xxj-1 = i; j+; t+; 第56套: 給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個字符),寫到 文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標志。然后將文件的內(nèi)容讀出顯 示在屏幕上。文件的讀寫分別由自定義函數(shù)ReadText和WriteText實現(xiàn)。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié) 果。 注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include /* 宏為世紀教育 */ #include #include void WriteText(FILE *); void ReadText(FILE *); main() FILE *fp; if(fp=fopen(myfile4.txt,w)=NULL) printf( open fail!n); exit(0); WriteText(fp); fclose(fp); if(fp=fopen(myfile4.txt,r)=NULL) printf( open fail!n); exit(0); ReadText(fp); fclose(fp); /*found*/ void WriteText(FILE _1_) char str81; printf(nEnter string with -1 to end :n); gets(str); while(strcmp(str,-1)!=0) /*found*/ fputs(_2_,fw); fputs(n,fw); gets(str); void ReadText(FILE *fr) char str81; printf(nRead file and output to screen :n); fgets(str,81,fr); while( !feof(fr) ) /*found*/ printf(%s,_3_); fgets(str,81,fr); 解題思路: 本題要求是把鍵盤上輸入的內(nèi)容寫到指定的文件中。程序中共有三處要填上適當?shù)膬?nèi)容, 使程序能運行出正確的結(jié)果。 第一處:要求填寫文件流的自變量名,在這個函數(shù)中,已有的語句fputs(n,fw);分析可知:由于文件流變量fw在函數(shù)體沒有定義過,所以本處應填*fw或fw。 第二處:通過while循環(huán)語句,把鍵盤上輸入的內(nèi)容,要寫入到指定的文件中,鍵盤上輸入的內(nèi)容已存入字符串str變量中,因此,本處應填寫str。 第三處:要把已存入文件中的內(nèi)容,再從文件中讀出且已存入字符串變量str中,最后在屏幕顯示出來,因此,此處應填寫str。 * 給定程序MODI1.C中函數(shù)fun的功能是:從低位開始取出長整型變量s中奇數(shù)位 /* 宏為世紀教育 */ 上的數(shù),依次構成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。 例如,當s中的數(shù)為:7654321時,t中的數(shù)為:7531。 請改正程序中的錯誤,使它能得出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構! 給定源程序: #include /*found*/ void fun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自助辦稅終端管理辦法
- 福建商品條碼管理辦法
- 工作紀律獎懲管理辦法
- 室外體育業(yè)態(tài)管理辦法
- 肥胖危害健康課件
- 路政內(nèi)業(yè)培訓課件
- 公司培訓課件怎么寫
- 肝臟磁共振檢查技術課件
- 肝硬化課件中醫(yī)
- 甘肅禮縣中考數(shù)學試卷
- 閥桿推力、操作扭矩及-美國太平洋算法-閘閥、截止閥
- 全國各省市縣-一覽表
- 暑假假期安全教育 家長會課件
- 02SG518-1-門式剛架輕型房屋鋼結(jié)構(含04年修改)
- 2021年徐州市小學教師業(yè)務能力測試數(shù)學試題
- 四川省成都市泡桐樹小學六年級小升初語文測試卷(8套試卷帶答案解析)
- 2023-2024年全科醫(yī)學(正高)考試高頻題庫(歷年考點版)帶答案解析
- 2023年浙江省鎮(zhèn)海中學自主招生數(shù)學試卷及答案
- -衛(wèi)生資格-正高-臨床醫(yī)學檢驗-正高-章節(jié)練習-臨床血液檢驗-試題(案例分析題)(共408題)
- 多級離心泵故障分析與處理
- YY/T 0870.2-2019醫(yī)療器械遺傳毒性試驗第2部分:體外哺乳動物細胞染色體畸變試驗
評論
0/150
提交評論