C語言題庫 填空題部分+部分程序設(shè)計.doc_第1頁
C語言題庫 填空題部分+部分程序設(shè)計.doc_第2頁
C語言題庫 填空題部分+部分程序設(shè)計.doc_第3頁
C語言題庫 填空題部分+部分程序設(shè)計.doc_第4頁
C語言題庫 填空題部分+部分程序設(shè)計.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1. 完成程序填空,實現(xiàn)輸入兩個數(shù)字,若兩數(shù)相等,則直接輸出兩個數(shù)字,若不相等,則這兩個數(shù)中的較大者等于這個較大者減去較小者,再作比較,若不相等則重復(fù)上述操作,直到兩個數(shù)字相等為止。輸出相等的兩個數(shù)字。while(a 【a!=b】) if (【ab】)a=a-b;if (【ba】)b=b-a; 2. 百雞問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?完成程序填空,實現(xiàn)求百雞問題 公雞一只5塊錢,母雞一只三塊錢,小雞三只一塊錢,一百塊錢買一百只雞應(yīng)該怎么買?也就是問一百只雞中公雞、母雞、小雞各多少?for(x=1;x=20;【x+】)for(z=3;z=99;【z+=3】)if(【5*x+3*y+z/3=100】)&(x+y+z=100)3.完成程序填空,實現(xiàn)輸出下圖 * * * * * * *【printf(“*”)】【printf(“n”)】【j=7+i】4.完成程序填空,將字符數(shù)組a的全部字符復(fù)制到字符數(shù)組b中(要求不用strcpy函數(shù))。printf(str1:【%s】n,str1);for(i=0;str1i【!=0】;i+)str2i=【str1i】;5. 將a+ 或 +a 或 a- 或 -a 填入程序填空中,實現(xiàn)如圖所示的輸出。(填入其他無效)【a+】【a-】【-a】6.完成程序填空,實現(xiàn)輸入4個整數(shù),要求按由小到大的順序輸出。 t=a;【a=c】;c=t; t=b;b=c;【c=t】;【t=c】;c=d;d=t;7. 完成程序填空,輸出所有的水仙花數(shù)。水仙花數(shù)是一個三位數(shù),其個、十、百位數(shù)字三次方之和為這個數(shù)。例如: 371=3*3*3+7*7*7+1*1*1for(num=100; 【num=1 ; j-) for(i=1; i=4; i+) x=(j-1)*4+i ;printf(%4d,x); 9. 【a=B】; b=O; c=Y;putchar(a);putchar(b);putchar(c);putchar(n);10. 完成程序填空實現(xiàn)輸入兩個數(shù)a、b,判斷如果ab,則交換兩數(shù),否則保持兩數(shù)值不變,這樣可以使得a始終大于b的值。按照先a后b的順序輸出即可。if(【?】) ab t=a;a=b;【?】; b=tprintf(%5.2f,%5.2fn,a,【?】); b11. 完成程序填空實現(xiàn)輸入三個數(shù),按代數(shù)值由大到小輸出。if(【?】) ab t=a;a=b;b=t; if(ac) t=a;a=c;【?】; c=t if(b=b) 【?】; max=aelse max=b; if (【?】) max=c; cmaxprintf(max=%dn 【?】); ,max13. 完成程序填空,實現(xiàn)求s=1+3+5+99.【i=1;】s=1;while(【?】) i99 i=i+2; 【s=s+i;】 14. 完成程序填空,用do-while結(jié)構(gòu)實現(xiàn)s=1+3+5+99.【sum=0;】i=1;item=2*i-1; do sum=sum+item;i+;item=【2*i-1;】while(【item=a【&c=A&c=0&c=9】) digit+;else other+;16. 一個小球從100米高度自由下落,每次落地后反跳回原來高度的一半,再下落,求它在第十次下落時,共經(jīng)過多少米,第十次反彈多高?float height【=100】;sum=sum+height; while(【i1) m=【2*(n+1)】; 【n=m】; day-; 18. 完成程序填空,實現(xiàn)輸出以下圖案: * * * * for(i=1;【i=4】;i+) for(j=1;j=10-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(【*】); printf(【”n”】); 19. 完成程序填空,實現(xiàn)找出1000之內(nèi)的所有完數(shù),并按如圖所示格式輸出其因子。一個數(shù)如果恰好等于它的公約數(shù)之和,這個數(shù)就稱為完數(shù)。例如:6=123。 6就是一個完數(shù)。for(a=2;a=【1000】;a+) b=0; for(i=1;ia;i+) f(a%i=0) b=【b+i】; if(a=b) printf(%d its factors are 1,a);for(i=2;i=1e-6】) s=s+1.0/n; 【n=n+2;】 21. 完成程序填空,輸出如下數(shù)陣: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1for (i=1;【i=5】;i+) for(k=1;【k=10-i】;k+) printf( ); for(j=1;【j=2*i-1】;j+) printf(%d,i-abs(i-j); printf(n); 22. 兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單,有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x、z比,請完成程序填空,實現(xiàn)找出三隊賽手的名單。char i,j,k; /i是a的對手,j是b的對手,k是c的對手for(i=x;i=z;i+)for(j=x;j=z;j+) if (【i!=j】) /a和b不能是同一個對手【for】(k=x;k=z;k+) if(i!=k&j!=k) /a、b、c不能是同一個對手 if(i!=x & k!=x &【k!=z】 ) printf(a-%cnb-%cnc-%cn,i,j,k); 23. 完成程序填空,實現(xiàn)打印下列的圖形 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 5 6 7 8 9 6 7 8 9 7 8 9 8 9 9for(i=1;【i=9】;i+) for(j=i;j=9;【j+】)printf(%2d,【j);】24. 在數(shù)組a中,存放著10個整型數(shù)據(jù),數(shù)據(jù)是從下標(biāo)0開始存放的,完成程序填空,實現(xiàn)順序輸出下標(biāo)為奇數(shù)的各數(shù)組元素的值。int i, a10=0,1,2,3,4,5,6,7,8,9【】; for(i=1;i=9; 【i=i+2】)printf(%d ,【ai】);printf(n);25. 完成程序填空,實現(xiàn)用冒泡排序法對從鍵盤輸入的10個整型數(shù)據(jù)進行由小到大排序。scanf(%d,【&ai】); printf(n); for(j=0;j9;j+) for(i=0;iai+1) t=ai; ai=ai+1;【ai+1=t;】printf(the sorted numbers :n);for(i=0;i10;i+)printf(%d ,【ai】);26. 完成程序填空,實現(xiàn)輸出所有的水仙花數(shù),所謂水仙花數(shù)是一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如153=13+53+33,故153是一個水仙花數(shù)。for(n=100;【n1000】;n+) a=n/100;b=n/10-a*10; c=n%10;if(【a*a*a+b*b*b+c*c*c=n】) mk=n;【k+;】27. 有一個已排好的數(shù)組,完成程序填空,實現(xiàn)要求輸入一個數(shù)后,按原來排序的規(guī)律將它插入到數(shù)組中。while( find【=0】& left=left;【i-】)28. 在字符數(shù)組str181和str281中分別存放著2個字符串,完成程序填空,實現(xiàn)將兩個字符串連接起來構(gòu)成一個新的字符串,并將新生成的字符串存放在字符數(shù)組str181中(要求不用strcat函數(shù))?!緂ets】(str1);for(i=0;str1i【!=0】;i+)for(j=0;str2j!=0;j+,【i+】)29. 完成程序填空,進行兩個字符串str1和str2的比較,若str1str2 ,輸出一個正數(shù);若str1str2,輸出0;若str1str2,輸出一個負(fù)數(shù),輸出的數(shù)是兩個字符的Ascii碼值的差(要求不用strcmp函數(shù))?!緂ets】(str1);for(i=0;str1i【=str2i】 & str1i!=0;i+)printf(the compare result is: %dn,【x】);30. 完成程序填空,實現(xiàn)編程輸出以下圖案。* * * *for(i=0;【i5】;i+)for(j=1;j=【i】;j+)puts(【str】;31. 功能:輸出9*9口訣。for (i=1;【?】;i+)i10 for(j=1;j=a&c=A&cZ【&】cz) c-=26;33. 功能:輸入一個學(xué)生的生日(年:y0、月:m0、日:d0),并輸入當(dāng)前日期(年:y1、月:m1、日:d1)。求出該學(xué)生的年齡(實足年齡)?!緎canf】(%d,%d,%d,&y0,&m0,&d0);if(m0【】m1)age-;if(m0【=】m1)&(d0d1)age-;34. 完成程序填空,實現(xiàn)求兩數(shù)最小公倍數(shù).if(【i%m=0】)if(i%n【=0】) printf(%dn,i);【break】; 二、程序設(shè)計1. 功能:求1到w之間的奇數(shù)之和。(w是大于等于100小于等于1000的整數(shù))long d,s=1; while (n0) d=n%10; s*=d; n/=10;return s;2. 功能:對某一正數(shù)的值保留2位小數(shù),并對第三位進行四舍五入。int i;i=(int) (h*1000)%10;if (i=5)return(int) (h*100+1)/100.0;elsereturn(int) (h*100)/100.0;3. 功能:產(chǎn)生20個30,120上的隨機整數(shù)放入二維數(shù)組a54中, 求其中的最小值。int i,j,s;s=a00;for(i=0;i5;i+) for(j=0;jaij)s=aij;return(s);4. 功能:編寫程序求無理數(shù)e的值并輸出。計算公式為:e=1+1/1!+1/2!+1/3!+.+1/n!long int j;int i,k;float e,jc;i=1;e=0.0;jc=1.0; while(jc=0.000001) e=e+jc; j=1; for(k=1;k=i;k+) j=j*k; jc=1.0/j; i+;return e;5. 功能:對任意輸入的 x,用下式計算并輸出 y 的值。 5 x10int m; if(n10) m=5; else if(n=10) m=0; else m=-5; return m;6. 功能:判斷一個整數(shù)w的各位數(shù)字平方之和能否被5整除,可以被5整除則返回1,否則返回0。int k,s=0;dos=s+(w%10)*(w%10);w=w/10;while(w!=0);if(s%5=0)k=1;else k=0;return(k);7. 功能:編寫函數(shù)求3!+6!+9!+12!+15+18!+21!。int i,j; float t,s=0; for(i=3;i=n;i=i+3) t=1; for(j=1;j=i;j+) t=t*j; s=s+t; return(s);8. 功能:編寫函數(shù)fun求sum=d+dd+ddd+dd.d(n個d),其中d為1-9的數(shù)字。例如:3+33+333+3333+33333(此時d=3,n=5),d和n在主函數(shù)中輸入。long int s=0,t=0; int i; for(i=1;i=n;i+) t=t+d; s=s+t; d=d*10; return s;9.給定N個數(shù)據(jù),求最小值出現(xiàn)的位置(如果最小值出現(xiàn)多次,求出第一次出現(xiàn)的位置即可)int i,k; k=0; for(i=1;in;i+) if(sisk) k=i;return(k);10. 求一批數(shù)中最大值和最小值的積。int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(ai-4), z=4/(x*(x+1)(x-10), z=|x|+20(其他).float z; if(x4) z=sqrt(x-4); else if(x-4) z=pow(x,8); else if(x-10) z=4/(x*(x+1); else z=fabs(x)+20; return(z);12. 求出N*M整形數(shù)組的最大元素及其所在的行坐標(biāo)及列坐標(biāo)(如果最大元素不唯一,選擇位置在最前面的一個)。.int max,i,j;max=array 00;Row=0;Col=0; for(i=0;iN;i+) for(j=0;jM;j+) if(max0) d=n%10; s*=d; n/=10; return s;14. 計算n門課程的平均值,計算結(jié)果作為函數(shù)值返回。例如:若有5門課程的成績是:92,76,69,58,88,則函數(shù)的值為76.599998int i; float y=0; for(i=0;in;i+) y+=ai; y=y/n; return y;15. 求一批數(shù)中小于平均值的個數(shù)。int i,sum=0,k=0; float average; for(i=0;in;i+) sum=sum+ai; average=sum*1.0/n; for(i=0;iai)k+;return(k);16. 編寫函數(shù)判斷一個整數(shù)m的個位數(shù)字之和能否被7整除,可以被7整除則返回1,否則返回0.調(diào)用該函數(shù)找出100200之間滿足條件的所有數(shù)。int k,s=0; do s=s+m%10; m=m/10; while(m!=0); if(s%7=0)k=1; else k=0; return(k);17. 編寫函數(shù)fun用比較法對主程序中用戶輸入的具有10個數(shù)據(jù)的數(shù)組a按由大到小排序,并在主程序中輸出排序結(jié)果。int k,j,t; for (k=0;kn-1;k+) for (j=k+1;jn;j+) if (arrayk=a & stri=z) stri=stri-32;19. 求給定正整數(shù)m以內(nèi)的素數(shù)之和。int i,k,s=0;for(i=2;i=m;i+)for (k=2;ki;k+)if(i%k=0)break;if(k=i)s=s+i; return s;20. 編寫程序,實現(xiàn)矩陣(3行3列)的轉(zhuǎn)置.int i,j,t;for(i=0;i3;i+)for(j=0;ji;j+) t=arrayij;arrayij=arrayji;arrayji=t;21. 功能:從鍵盤為一維整型數(shù)組輸入10個整數(shù),調(diào)用fun函數(shù)找出其中最小的數(shù),并在main函數(shù)中輸出。請編寫fun函數(shù)。int min,i;min=x0;for(i=1;i10;i+) if(ximin) min=xi; return min;22. 用do-while語句求1100的累計和。int i=1,sum=0; dosum=sum+i;i+; while(i0) d=n%10; s*=d; n/=10; return s;26. 功能:把20個隨機數(shù)存入一個數(shù)組,然后輸出該數(shù)組中的最大值。int i,j=0;for(i=0;ilistj) j=i; return j;27. 功能:求一批數(shù)中小于平均值的數(shù)的個數(shù)。int i,sum=0,k=0; float average; for(i=0;in;i+) sum=sum+ai; average=sum*1.0/n; for(i=0;iai)k+; return(k);28. 功能:編寫函數(shù)求1100中奇數(shù)的平方和。結(jié)果為166650。float s=0;int i,j; for(i=1;i=n;i=i+2) s=s+i*i;return(s);29. 功能:產(chǎn)生20個30,120上的隨機整數(shù)放入二維數(shù)組a54中, 求其中的最小值。int i,j,s; s=a00; for(i=0;i5;i+) for(j=0;jaij)s=aij; return(s);30. 功能:編寫函數(shù)fun生成一個對角線元素為1,其他元素都為0的3*3的二維數(shù)組。for(i=0;i3;i+) for(j=0;j3;j+) if(i+j=1 | i+j=3) arrij=0; else arrij=1;31. 功能:求5行5列矩陣的主、副對角線上元素之和。注意,兩條對角線相交的元素只加1次。例如:主函數(shù)中給出的矩陣的兩條對角線的和為45。int s=0; int i; for(i=0;iM;i+) s=s+aii+aiM-1-i; s=s-a(M-1)/2(M-1)/2; return s;31. 功能:編寫函數(shù)用選擇排序法對數(shù)組中的數(shù)據(jù)進行從小到大的排序.int i,j,k,t;for(i=0;in-1;j+)k=i;for(j=j+1;jaj) k=j;if(k!=i)t=ai;ai=ak;ak=t;32. 功能:編寫函數(shù)fun求sum=d+dd+ddd+dd.d(n個d),其中d為1-9的數(shù)字。例如:3+33+333+3333+33333(此時d=3,n=5),d和n在主函數(shù)中輸入。long int s=0,t=0;int i; for(i=1;in;i+)t=t+d; s=s+t; d=d*10; return s;33. 功能:編寫函數(shù)fun將一個數(shù)組中的值按逆序存放,并在main()函數(shù)中輸出。例如:原來存順序為8,6,5,4,1。要求改為:1,4,5,6,8。int i,t; for(i=0;in/2;i+) t=arri;arri=arrn-1-i;arrn-1-i=t; 34. 用輾轉(zhuǎn)相除法求兩個整數(shù)的最大公約數(shù)。int r,t;if(nm) t=n;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論