




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1題/*【程序改錯(cuò)】功能:在一個(gè)一維整型數(shù)組中找出其中最大的數(shù)及其下標(biāo)*/#i nclude <stdio.h>#defi ne N 10*FOUNDfloat fun (i nt *a,i nt *b,i nt n) int *c,max=*a;for(c=a+1;c<a+n; c+) if(*c>max)max=*c;*FOUNDb=c-a;return max; void mai n()int aN,i,max,p=0;prin tf("please en ter 10 in tegers:n"); for(i=0;i<N;i+)*FO
2、UNDget("%d",ai);*FOUNDm=fu n( a,p,N);prin tf("max=%d,positio n=%d",max,p);序號(hào)答案1int fuil (intint *b, int rj23stauf1.):前 昶anfL翡 a + i );4m 空二 fun豈Hj ;第2題/*【程序改錯(cuò)】功能:為一維數(shù)組輸入10個(gè)整數(shù);將其中最小的數(shù)與第一個(gè)數(shù) 對(duì)換,將最大的數(shù)與最后一個(gè)數(shù)對(duì)換,輸出數(shù)組元素。*/#include <stdio.h> main()int a10; void input(); void output(
3、);void max_min(); input(a,10); max_min(a,10); output(a,10);void input(int *arr,int n) int *p,i;p=arr;printf("please enter 10 integers:n"); for(i=0;i<n;i+)*FOUNDscanf("%d",p);void max_min(int *arr,int n) int *min,*max,*p,t; min=max=arr;for(p=arr+1;p<arr+n;p+)*FOUNDif(*p<*
4、max)max=p;else if(*p<*min) min=p;t=*arr;*arr=*min;*min=t;*FOUNDif(max=arr) max=min; t=*(arr+n-1); *(arr+n-1)=*max;*max=t;void output(int *arr,int n)int *p,i; p=arr;printf("The changed array is:n");*FOUNDwhile(i=O;i <n ;i+)prin tf("%3d",*p+);prin tf("n");備注此答案中的“ ”
5、請(qǐng)忽略。本文檔中其它地方出現(xiàn)的“”請(qǐng)都忽略!比如 scanf("%d",p +);就是表示 seanf("%d",p+);if( max*= arr)即表示if(max=arr) “”號(hào)表示可以有一個(gè)或多個(gè)空格序號(hào)隸|1lumfCld: pAM;或 scanf fid7, arri);或 icufpi);或 ictnftrr+i);1 (12ifif (克narr*)1314或 fOT(i=0;n>i;i+)或 far (p=srr,p<irrhi;)或 for(i=0;i<=irl;i+)喩i f oi第3題/*【程序改錯(cuò)】功能:用起
6、泡法對(duì)10個(gè)整數(shù)從小到大排序。*/#i nclude <stdio.h>*FOUNDvoid sort(i nt x,i nt n) int i,j,t;for(i=0;i< n-1;i+)*FOUNDfor(j=0;j< n-i;j+)*FOUNDif(xi>xi+1) t=xj; xj=xj+1; xj+1=t; mai n()in t i,n ,a100;prin tf("please in put the len gth of the array:' n"); scan f("%d",&n);for(
7、i=0;i <n ;i+)sea nf("%d",&ai);*FOUNDsort( n,a);prin tf("output the sorted array:'n"); for(i=0;i<=n-1;i+)prin tf("%5d",ai);prin tf("n");序號(hào)權(quán)重1void sort (int *兀 int n) 或 void s&rt(int x j int n)12for G=0; j<*n*-l*-i*; j+)或 tw或 for幺(*伙+鋁*)13辻込
8、匚幻£ i民女j)14gorf(a,n);1第4題/*【程序改錯(cuò)】功能:在一個(gè)已按升序排列的數(shù)組中插入一個(gè)數(shù),插入后,數(shù) 組元素仍按升序排列。*/#i nclude <stdio.h>#defi ne N 11 mai n() in t i, nu mber,aN=1,2,4,6,8,9,12,15,149,156;printf("please enter an integer to insert in the array:n");*FOUNDscan f("%d",&n umber) prin tf("The o
9、rigi nal array:n"); for(i=0;i<N-1;i+)prin tf("%5d",ai);prin tf("n");*FOUNDfor(i=N-1;i>=0;i-)if(nu mber<=ai)*FOUNDai=ai-1; else ai+1=nu mber;*FOUNDexit;if(number<a0) a0=number; prin tf("The result array:n");for(i=0;i<N;i+)prin tf("%5d",ai);p
10、rin tf("n");第5題/*【程序改錯(cuò)】功能:求如下表達(dá)式:1S = 1 + 1+21+2+31+2+3+n*/#i nclude <stdio.h>mai n() int n;double fun(int n);prin tf("Please in put a nu mber:");/* *FOUND */prin t("%d", n);prin tf("%10.6fn",fu n(n); /* *FOUND */ fun (i nt n) int i,j,t;double s;s=0;/* *
11、FOUND */while(i=1;i<=n ;i+);t=0;for(j=1;jv=i;j+) t=t+j;/* *FOUND */=S+1/t; return s;序號(hào)答索1iscazf (柑血l);1zdaub丄屯 tun lint nJ13for (i=L;in; i+)或 f*r(i=l :t>=i: i+)曲 for(i=li+)第 fcr (i=l ;n+l>i: i+)14i+=l.o/t;或 5=>sA- 1.0(flctl)l:孟"*知.從/t:金或 s+=l.1第 6 題 /*【程序改錯(cuò)】功能:利用二維數(shù)組輸出如圖所示的圖形。*/ #in
12、clude <stdio.h>#include <conio.h>*FOUND#define N= 7main()char aNN; int i,j,z; for(i=0;i<N;i+)for(j=0;j<N;j+)*FOUNDaij=;z=0;for(i=0;i<(N+1)/2;i+)for(j=z;j<N-z;j+) aij='*'z=z+1;*FOUNDz=0;for(i=(N+1)/2;i<N;i+) z=z-1;for(j=z;j<N-z;j+) aij='*'for(i=0;i<N;i
13、+)for(j=0;j<N;j+)*FOUNDprintf("%d",aij); printf("n");序號(hào)制百Fix U 7Z缶口二;3I=Z-1; 或 Z一一; 或+I;4printffl&c*第7題/*【程序改錯(cuò)】功能:將一個(gè)字符串中的大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母。例如:輸入aSdFG輸出為asdfg。*/#in clude<stdio.h>* *FOUND* *bool fun( char *c)if(*c<='Z'&&*c>='A')*c-='A'
14、-'a'* *FOUND* *fun= c;mai n()* *FOUND* *char s81,p=s; gets(s);while(*p)*p=fu n( p);* *FOUND* *puts(*p); p+; putchar('n');第8題/*【程序改錯(cuò)】 功能:將若干學(xué)生的檔案存放在一個(gè)文件中,并顯示其內(nèi)容。*/#in elude <stdio.h> struct stude ntint num;char n ame10; int age;; struct student stu3=001,"Li Mei",18,002
15、,"Ji Hua",19, 003,"Sun Hao",18;#in clude <stdio.h>void mai n()* *FOUND* *struct stude nt p;* *FOUND* *cfile fp;int i;if(fp=fope n( "stu_list","wb")=NULL) prin tf("ca nnot ope n filen");return;* *FOUND* *for(*p=stu;p<stu+3;p+)fwrite(p,sizeof(
16、struct stude nt),1,fp); fclose(fp);fp=fope n("stu_list","rb");prin tf(" No. Nameagen");for(i=1;i<=3;i+)fread(p,sizeof(struct stude nt),1,fp);* *FOUND* *scan f("%4d %-10s %4dn",*p .n um,p-> name,(*p).age);fclose(fp);1序號(hào)3和4的全部答案請(qǐng)見(jiàn)下圖答秦列表:(t文韋rint£%41 S
17、i-10s %4dn"(*p) . nui* ,(p);for (p=£tn; XVtUX+x3x>p7p+t) for 4stTi;p<=s;p+? for(f=st-u; A5A+AXiP+printf Cd. _10s X4drf ” p一 >Kg , j)一 加狐巳 p一九* “; prijit;f$J-10s 粹(*p) . num f 仕卩)“ ikanu0甫e);f rint El %1 d.'L Qz%4d n ' p- mom. p- r.am er I.*p) a-e : printEC*3S4di-1054(1 ri,
18、 (*p). num, p-iLanie, p-age): print.£(/糾dUDs楓d n'fj p-ikiun C*j). nwiifij (*p). age):第9題/*【程序改錯(cuò)】功能:判斷m是否為素?cái)?shù),若是返回1,否則返回0。*/#in elude <stdio.h>/*found*/void fun( int n)int i,k=1;if(m<=1) k=0;/*found*/for(i=1;i<m;i+)/*found*/if(m%i=0) k=0;/*found*/return m;int mai n()int m,k=0;for(
19、m=1;m<100;m+) if(fun( m)=1)prin tf("%4d",m);k+; if(k%5=0) pri ntf("n"); 序號(hào)答案1iat funC int m)咸 fuaf int m)for (i=2:i<n:it+)或 for (i=2:m>i : i+t)或 for G=2: i<=m-l; i+)或 for G=Z :m-l>=i: i+)3i f*m篤ik=0;4return k;第10題/*【程序改錯(cuò)】功能:用下面的和式求圓周率的近似值。直到最后一項(xiàng)的絕對(duì)值小于等于0.0001。n111=
20、1 - + - + .4357*/#in elude <stdio.h>* *FOUND* *#in elude <stdlib.h> fun()int i=1;* *FOUND* *int s=0,t=1,p=1;* *FOUND* *while(fabs(t)<=1e-4)s=s+t;P=-P; i=i+2;t=p/i;* *FOUND* *prin tf("pi=%dn",s*4); main ()fun ();序號(hào)答案1include "math, h"或 include Ga/th. h2float 53, t=l
21、, p=l:威 floitp=l, t=l:或 £Loit p-lJ 5=0,:或 £Lo4t p=l, t=l, s=D;.3w-til&Cfibs Ct)>l t-4)凄 whilt(0.0001<fats(t)或 whil# (e-4<fAbs (t)或 whilftCfibs (t)X.OOa.qprintE "pi =%fit; * 1;第11題/*【程序改錯(cuò)】功能:求1到20的階乘的和。*/ #in elude <stdio.h>fun()int n,j;float s=0.0,t=1.0;for(n=1; n&l
22、t;=20; n+) * *FOUND* *s=1;for(j=1;j<=n ;j+)* *FOUND* *t=t* n;* *FOUND* *s+t=s;* *FOUND* *prin tf("jieche ng=%dn",s);mai n()fun ();序號(hào)1t=l;t=l. ;23或 s=t;或 5=t+s;4printfi EchE*滬£護(hù)# is);第12題/*【程序改錯(cuò)】功能:輸出Fabonacci數(shù)列的前20項(xiàng),要求變量類型定義成浮點(diǎn)型,輸出時(shí)只輸出整數(shù)部分,輸出項(xiàng)數(shù)不得多于或少于20。*/#in clude <stdio.h>f
23、un()int i;float f1=1,f2=1,f3;* *FOUND* *prin tf("%8d",f1);* *FOUND* *for(i=1;i<=20;i+)f3=f1+f2;* *FOUND* *f2=f1;/*found*/f3=f2;prin tf("%8.0f',f1);prin tf("n");main ()fun ();序號(hào)printfOSB OF, fl)?printfff);fffrCi=l;i<EO;i 卄)逹 for Ci=l; 2C>i戒 for Ci=EuE0;計(jì)十)咸 for (
24、i=£如片i; i 卄或 fo.fl=£E;£2£3i第 13 題 /*-【程序改錯(cuò)】功能:計(jì)算正整數(shù)num的各位上的數(shù)字之積。例如:輸入252,則輸出應(yīng)該是20。*/#i nclude <stdio.h> long fun (long num) /* *FOUND *long k;dok*=n um%10;/* *FOUND */num=10;while (nu m);return k;mai n()long n;prin tf("nPlease en ter a nu mber:");/* *FOUND */ scan
25、 f("%ld", n);/* *FOUND */prin tf("n%ldn",fu n(long n);序號(hào)答寮1lent E ;3C*紀(jì)心)iqpr i nt £d£皿);第14題/*【程序改錯(cuò)】功能:已知一個(gè)數(shù)列從第0項(xiàng)開(kāi)始的前三項(xiàng)分別為0、0、1,以 后的各項(xiàng)都是其相鄰的前三項(xiàng)的和。下列給定程序中,函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列的前 n項(xiàng)的平方根 之和sum,n的值通過(guò)形參傳入。例如:當(dāng)n=10時(shí),程序的輸出結(jié)果應(yīng)為23.197745c*/#i nclude <stdio.h>#in clude <m
26、ath.h>*FOUNDfun (int n)double sum,s0,s1,s2,s;int k;*FOUNDsum=0.0;if(n <=2) sum=0.0;s0=0.0;s1=0.0;*FOUNDs2=0.0;*FOUNDfor(k=4;k >n ;k+) s=s0+s1+s2; sum+=sqrt(s); s0=s1;s 仁s2;s2=s;return sum; mai n()int n;scan f("%d",&n);prin tf("%lfn",fu n(n);序是窖秦1doulile fun (int n)12
27、呂皿訂.D:戒stiff-1.11312=1.0;或 s2=l;14fcr(k=4;k<=n;kH)或 Fu 0t=4:n>=k;kH】或f&:r Qt=4;k<n+l :ld-+ l 或 for (k=4P k<L+a: k+?或 £*. . .1第15題/*【程序改錯(cuò)】功能:求出兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如:若給numl和num2分別輸入49和21,則輸出的最大公約數(shù)為7 */ #i nclude <stdio.h> int fun (i nt a,i nt b) int r,t;if(a<b)t=a;*FO
28、UNDb=a;*FOUNDa=t;r=a%b;while(r!=O) a=b;b=r;*FOUNDr=a/b;*FOUNDreturn a; mai n()int nu m1, nu m2,a;scan f("%d%d",&nu m1,&n um2);a=fu n(nu m1, nu m2);prin tf("the maximum com mon divisor is %dnn",a);序昌答案2b=l;3r=4b:4return 1); 或 re turn, (b): 或 return(b):第16題/*【程序改錯(cuò)】 功能:先從鍵盤(pán)上
29、輸入一個(gè) 3行3列矩陣的各個(gè)元素的值,然后輸出主對(duì)角線上的元素之和sum。*/ #in elude <stdio.h> void fun() int a33,sum;int i,j;* *FOUND* *a=0;for(i=0;i<3;i+)for(j=0;j<3;j+)* *FOUND* *scan f("%d",aij);for(i=0;i<3;i+)* *FOUND* *sum=sum+aij;* *FOUND* *prin tf("sum=%fn",sum); main ()fun ();岸呂1答秦1Eimn-Cl:
30、234宜mfHWj缸【門):引山=歸5十克【l:,我 sujn+=tii. pr intfsum):第17題/*【程序改錯(cuò)】 功能:找出大于 m的最小素?cái)?shù),并將其作為函數(shù)值返回。*/#in clude <math.h>#in elude <stdio.h> int fun( int m)int i,k;for(i=m+1;i+)* *FOUND* *for(k=1;k<i;k+)* *FOUND* *if(i%k!=O) break;* *FOUND* *if(k<i)* *FOUND* *return k;main ()int n;scan f("
31、;%d",&n);prin tf("%dn",fu n(n);序號(hào)答案I或 fori戒 for Ck=2;ls<=i-l或 forfor.2if或 i£(!Iraki3我或 江決k二汝i*莊或 ifQc=:/2)或 訐壓加萌“)4return i;或 return (i);第18題/*【程序改錯(cuò)】功能:實(shí)現(xiàn)3行3列矩陣的轉(zhuǎn)置,即行列互換*/ #i nclude <stdio.h> fun(int a33,int n) int i,j,t;for(i=0;i <n ;i+)for(j=0;j< n;j+)*FOUNDs
32、ca nf("%d",aij); for(i=0;i <n ;i+)for(j=0;j< n;j+)prin tf("%4d",aij); prin tf("n");for(i=0;i <n ;i+)*FOUNDfor(j=0;j< n;j+)*FOUNDaij=t;aij=aji;*FOUNDt=aji;for(i=0;i <n ;i+)for(j=0;j< n;j+) prin tf("%4d",aij); prin tf("n");mai n()int
33、b33;fun (b,3);序號(hào)1取重1stMiffeti j);或 icanf (Ttd*,)+j 1);2f«-j+ 或 tor 0=O;i乃;j+】或 For GR;j<=i;j+)戒 for (j=0; i>=j J卄)或 for (J=i.J3J4山g;J第19題/*【程序改錯(cuò)】功能:實(shí)現(xiàn)兩個(gè)字符串的連接。例如:輸入dfdfqe和12345時(shí),則輸出dfdfqe12345.*/#i nclude <stdio.h>mai n() char s180,s280;void scat(char s1,char s2);gets(s1);gets(s2);s
34、cat(s1,s2);puts(s1);void scat (char s1,char s2) int i=0,j=0;*FOUNDwhile(s1i= ='0') i+;*FOUNDwhile(s2j= ='0') /*FOUNDs2j=s1i;i+;j+;*FOUNDs2j='0'答案Vwhile (*呂1 m 長(zhǎng)2*代廳知 或WhLle(SlL1)咸while決"i上知知2*上負(fù)vr*)或 話丄“a仃)或 whil決蛇*!=(金34 sli=J :+ Cil+i)=J :竝 slfiJiD;第20題/*/*【程序改錯(cuò)】功能:有一數(shù)
35、組內(nèi)放 10個(gè)整數(shù),要求找出最小數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素即第一個(gè)數(shù)對(duì)換位置*/#in clude <stdio.h>mai n() inti,a10,mi n, k=0;prin tf("n please in put array 10 eleme ntsn");for(i=0;i<10;i+)* *FOUND* *scan f("%d", ai); for(i=0;i<10;i+)prin tf("%d",ai);min=a0;* *FOUND* *for(i=3;i<10;i+)*
36、*FOUND* *if(ai>mi n) min=ai;k=i;* *FOUND* *ak=ai;aO=mi n;prin tf("n after escha nge:n"); for(i=0;i<10;i+)prin tf("%d",ai);prin tf("nk=%dnmi n=%din",k,mi n);庫(kù)號(hào)窖案1scanF"溺二騒:i .i ;2fur (i=l; i <10; 1+-)或 £Ci=0;i<ia:或 £ur(i=l前 for; 1 + + 3i F 由i心i
37、iO耳第 21 題 /*-【程序改錯(cuò)】功能:用"起泡法"對(duì)連續(xù)輸入的十個(gè)字符排序后按從小到大的次序 輸出.*/#i nclude <stdio.h>#include <string.h>#defi ne N 10sort(char strN)int i,j; char t;for(j=1;j<N;j+)/* *FOUND */for(i=0;i<N-j;i-)/* *FOUND */if(stri<stri+1)t=stri; stri=stri+1; stri+1=t;main ()int i;char strN;for(i=0;i<N;i+)/*
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作中如何提高專注力和時(shí)間利用率
- 工業(yè)自動(dòng)化技術(shù)的前沿進(jìn)展
- 工業(yè)自動(dòng)化技術(shù)的發(fā)展及市場(chǎng)應(yīng)用
- 工作中的決策能力與執(zhí)行力培養(yǎng)
- 工業(yè)設(shè)備能效優(yōu)化策略
- 工業(yè)領(lǐng)域安全防護(hù)系統(tǒng)設(shè)計(jì)
- 工作繁忙人士的健康膳食建議
- 工作流程優(yōu)化及資源管理方法
- 工廠設(shè)備選型與采購(gòu)策略培訓(xùn)
- 工程測(cè)量中的遙感技術(shù)應(yīng)用分析
- 食品供應(yīng)不合格產(chǎn)品退換方案
- 華為大學(xué)人才培養(yǎng)與發(fā)展實(shí)踐
- 年產(chǎn)12000噸水合肼(100%)項(xiàng)目環(huán)評(píng)報(bào)告書(shū)
- 《有機(jī)波譜分析》期末考試試卷及參考答案
- 最詳細(xì)的整車開(kāi)發(fā)流程
- 部編版七年級(jí)歷史(下)材料論述題專項(xiàng)訓(xùn)練
- 年產(chǎn)1000噸乳酸的生產(chǎn)工藝設(shè)計(jì)
- 博克服裝CAD制版說(shuō)明操作手冊(cè)(共95頁(yè))
- 光電效應(yīng)測(cè)普朗克常數(shù)-實(shí)驗(yàn)報(bào)告
- (完整word版)數(shù)據(jù)模型與決策課程案例分析
- 物業(yè)服務(wù)參與校園文化建設(shè)及舉辦大型活動(dòng)配合措施
評(píng)論
0/150
提交評(píng)論