已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Lab 3Repetition Structure從500開始,求被3、5、7除余數(shù)均為2的前50個(gè)數(shù)。 void main() int i,j; j=500,i=1; for(;j=500&i=50;j+) if(j%3=2&j%5=2&j%7=2) printf(%d,j); i+; printf( ); 打印形狀為正方形和直角三角形的乘法九九表。void main() int i,j,a; for(i=1;i=9;i+) for(j=1;j=9;j+) a=j*i; printf(%d*%d=%-3d,a); printf( ); printf(n); #includevoid main() int i,j,k,a; for(i=1;i=9;i+) for(j=1;j=i;j+) a=j*i; printf(%d*%d=-3%d,j,i,a); printf( ); for(k=1;k=9-i;k+) printf( ); printf(n); 由鍵盤輸入一個(gè)正整數(shù),判斷它是否為素?cái)?shù)(只能被1和自身整除的數(shù))。void main() int num,n; printf(enter a number); scanf(%d,&num); for(n=2;n=a;i+) sum=sum+1/n; n=n*i; printf(sum=%f,sum);#include void main()int i=1;float x,e=1,t=1;printf(enter x:n);scanf(%f,&x);while(1/t=x) e=e+1/t; i+; t=t*i;printf(e=%f,e);百馬百擔(dān)問(wèn)題。有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩個(gè)小馬馱1擔(dān)。問(wèn)有大、中、小馬各多少匹?#include void main() int i,j; for(i=0;i=34;i+) for(j=0;j(100-i*3)/2+1;j+) if(100-i-j)%2=0 & 3*i+2*j+(100-i-j)/2=100) printf(%d %d %dn,i,j,100-i-j); _編寫程序輸出以下的圖形:1 2345678910void main() int i,j,k,a=1; for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf( ); for(k=1;k=i;k+) printf(%d,a); printf( ); a+; printf(n); Lab 4Function ( Part )求 m!/(n!*(m-n)!) 的值。要求:求某個(gè)數(shù)的階層必須用自定義的函數(shù)實(shí)現(xiàn)。#includeint fl(int x,int y,int z);void main() int m,n,k; printf(enter m and n:n); scanf(%d %d,&m,&n); k=fl(m,n,m-n ); printf(%d,k);int fl(int x,int y,int z) int a=1,b=1,c=1,i,j; for(i=1;i=x;i+) a=a*i; for(i=1;i=y;i+) b=b*i; for(i=1;i=z;i+) c=c*i; j=a/(b*c); return(j);用二分法求下面方程2x3-4x2+3x-6=0的根,要求誤差小于10-5。#include#includefloat root(float x1,float x2);float f(float x);void main() float x1,x2,f1,f2,x; do printf(enter x1 and x2:n); scanf(%f,%f,&x1,&x2); f1=f(x1); f2=f(x2); while(f1*f20); x=root(x1,x2); printf(x=%fn,x);float f(float x) float y; y=2*x*x*x-4*x*x+3*x-6; return(y);float root(float x1,float x2) float x0,f0,f1,f2; do x0=(x1+x2)/2; f0=f(x0); if(f0*f(x1)=1e-5); return(x0);隨機(jī)產(chǎn)生50個(gè)200至500之間的整數(shù),輸出所有的整數(shù),判斷每個(gè)整數(shù)是否為素?cái)?shù);若是素?cái)?shù),則在輸出整數(shù)時(shí),用*標(biāo)記。要求每行輸出10個(gè)數(shù)。要求:判斷一個(gè)整數(shù)是否為素?cái)?shù),必須用自定義的函數(shù)實(shí)現(xiàn)。#include#include#includevoid prime(int x);void main() int m,i; srand(time(NULL); for(i=1;i=50;i+) m=200+(rand()%301); prime(m); if(i%10=0) printf(n); void prime(int x) int j; for(j=2;j=x-1;j+) if(x%j=0) break; if(j=x) printf(*%d*,x); else printf( %d ,x);通過(guò)輸入兩個(gè)加數(shù)給學(xué)生出一道加法運(yùn)算題,如果輸入答案正確,則顯示“Right!”,否則提示重做,顯示“Not correct! Try again!”,最多給三次機(jī)會(huì),如果三次仍未做對(duì),則顯示“Not correct. You have tried three times! Test over!”程序結(jié)束。#include int add_judgement(int,int,int );void main() int i=1,x,y,z,flag=0; printf(Plese chutin); scanf(%d+%d,&x,&y); printf(please input z:n); while(i=3) scanf(%d,&z); flag=add_judgement(x,y,z); if(flag=1) printf(Rightn); break; else if(i3) printf(Not correct.You have tried three times!Test over!);int add_judgement(int a,int b,int c) int flag; if(c=a+b)flag=1; elseflag=0; return flag;_輸入兩個(gè)正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。要求:求最小公約數(shù)必須用自定義的函數(shù)實(shí)現(xiàn)。此題答案略Lab 5Function ( Part )編程計(jì)算Xn(要求:用遞歸函數(shù))。#includelong fac(int x,int y);void main() int x,n; long y; printf(enter x and n:n); scanf(%d %d,&x,&n); y=fac(x,n); printf(%ldn,y);long fac(int x,int y) long a; if(y=1) a=x; else a=fac(x,y-1)*x; return(a);編程計(jì)算Ackermann函數(shù)Ack(m,n)(要求:用遞歸函數(shù))。 對(duì)于m0, n 0, Ack(m,n)定義如下: Ack(0,n)=n+1 Ack(m,0)= Ack(m-1,1) Ack(m,n)= Ack(m-1), Ack(m,n-1)#includeint Ack(int m,int n);void main() int m,n,a; printf(enter m and n:n); scanf(%d,%d,&m,&n); a=Ack(m,n); printf(Ack=%d,a);int Ack(int m,int n) int b; if(m=0&n0) b=n+1; else if(m0&n=0) b=Ack(m-1,1); else if(m0&n0) b=Ack(m-1),Ack(m,n-1); return(b);Lab6 Array ( Part )產(chǎn)生10005000之間的100個(gè)隨機(jī)整數(shù),找出其中的素?cái)?shù),用冒泡法對(duì)找出的素?cái)?shù)進(jìn)行排序。請(qǐng)將產(chǎn)生的隨機(jī)數(shù)、找出的素?cái)?shù)和排序后的素?cái)?shù)分別輸出。#include#include#include#define SIZE 100int prime(int x);void sorting(int a,int n);void main( ) int aSIZE,bSIZE,i,j=0; srand(time(NULL); printf(nthe rand numbers is:n); for(i=0;iSIZE;i+) ai=1000+(rand()%4001); if(i%10=0) printf(n); printf(%5d,ai); printf(nthe prime array:n); for(i=0;iSIZE;i+) if(prime(ai)=1) bj=ai; if(j%10=0) printf(n); printf(%5d,bj); j+; printf(nthe new array:n); sorting(b,j); for(i=0;ij;i+) if(i%10=0) printf(n); printf(%5d,bi); int prime(int x) for(i=2;i=x-1;i+) if(x%i=0) break; if(i=x) return 1;void sorting(int a,int n) int i,j,t; for(j=0;jn;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; 有一個(gè)按非遞增排列好的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)排序的規(guī)律將它插入到數(shù)組中。#include#define SIZE 11void insertdata(int aSIZE);void main( ) int arraySIZE,i; printf(ninput 10 numbers:n); for(i=0;iSIZE-1;i+) scanf(%d,&arrayi); printf(n input a number:n ); insertdata(array); printf(n new array is:n); for(i=0;iSIZE;i+) printf(%4d,arrayi);void insertdata(int aSIZE) int num,i,j; scanf(%d,&num); if(numa9) a10=num; else for(i=0;i10;i+) if(ai=i;j-) aj+1=aj; ai=num; break; 計(jì)算以下整數(shù)的標(biāo)準(zhǔn)差和平均值。-6, -12, 8, 13, 11, 6, 7, 2, -6, -9, -10, 11, 10, 9, 2 其中,標(biāo)準(zhǔn)差的計(jì)算公式為:#include#include#define SIZE 15void average(int arraySIZE);void main( ) int arraySIZE,i; printf(ninput 15 numbers:n); for(i=0;iSIZE;i+) scanf(%d,&arrayi); printf(n the average and SD :n); average(array);void average(int arraySIZE) float aver_i,SD,sum,i,a=0; for(i=0;iSIZE;i+) sum=sum+arrayi; aver_i=sum/SIZE; printf(%fn,aver_i); for(i=0;iSIZE;i+) a=a+pow(arrayi-aver_i,2); SD=sqrt(a)/SIZE; printf(%fn,SD);某班級(jí)有100個(gè)學(xué)生,現(xiàn)選舉班長(zhǎng),有5個(gè)候選人,請(qǐng)統(tǒng)計(jì)每個(gè)候選人的票數(shù),并用冒泡排序法對(duì)票數(shù)進(jìn)行排序。#include#include#include#define SIZE 100void sorting(int a);void main( ) int aSIZE,b5=0,i,j; srand(time(NULL); printf(nthe 100 votes are:n); for(i=0;iSIZE;i+) ai=1+rand()%5; printf(%4d,ai); if(i+1)%10=0) printf(n); for(i=0;i100;i+) bai-1+; printf(nthe five peoples tickt:n); sorting(b); for(j=0;j5;j+) printf(%4d,bj);void sorting(int a) int i,j,t; for(i=0;i4;i+) for(j=0;jai+1) t=ai; ai=ai+1; ai+1=t; 任意輸入10個(gè)數(shù),求這個(gè)10個(gè)數(shù)中最大的間隔值(即是最大值與最小值的差)。要求:若需要排序,必須用選擇法排序。#include#define SIZE 10void sorting(int array);void main( ) int aSIZE,max,i; printf(ninput 10 numbers:n); for(i=0;iSIZE;i+) scanf(%d,&ai); printf(nthe ten numbers sorting:n); sorting(a); for(i=0;iSIZE;i+) printf(%4d,ai); max=aSIZE-1-a0; printf(nthe max distance:n); printf(%d,max); void sorting(int array) int i,j,k,t; for(i=0;iSIZE-1;i+) k=i; for(j=i+1;jSIZE;j+) if(arrayjarrayk) k=j; t=arrayk; arrayk=arrayi; arrayi=t; 約瑟夫問(wèn)題。M個(gè)人圍成一圈,從第一個(gè)人開始依次從1至N循環(huán)報(bào)數(shù),每當(dāng)報(bào)數(shù)為N時(shí)此人出圈,直到圈中只剩下一個(gè)人為止。請(qǐng)按退出次序輸出出圈人原來(lái)的編號(hào)以及留在圈中的最后一個(gè)人原來(lái)的編號(hào)。#include#define SIZE 50void leaving (int num);int nmax;void main( ) int numSIZE,i; printf(nplease input number:n); scanf(%d,&nmax); for(i=0;inmax;i+) numi=i+1; leaving(num); void leaving(int num) int N,i=0,k=0,m=0; printf(ninput N:n); scanf(%d,&N); while(mnmax-1) if(numi!=0) k+; if(k=N) printf(nthe number of leaving personel:n); printf(%d,i+1); numi=0; k=0; m+; i+; if(i=nmax) i=0; i=0; while(numi=0) i+; printf(nthe last of%d personis %d,nmax,numi); Lab 7Array ( Part )假設(shè)有一個(gè)數(shù)組,存放著10個(gè)數(shù),現(xiàn)輸入一個(gè)數(shù),用順序查找法找出該數(shù)是數(shù)組中第幾個(gè)元素。如果該數(shù)不在數(shù)組中,則打印“無(wú)此數(shù)”。#include#define SIZE 10void element(int a);void main() int aSIZE,i; printf(ninput ten numbers:n); for(i=0;iSIZE;i+) scanf(%d,&ai); element(a);void element(int a) int i,col,num,flag=0; printf(ninput a number:n); scanf(%d,&num); for(i=0;iSIZE;i+) if(ai=num) col=i+1; flag=1; printf(In array,the number is %d element,col); break; if(flag=0) printf(nthe number is not in the arrayn);_用遞推法打印楊輝三角形(提示:利用二維數(shù)組)。#include#define SIZE 10void array(int a);void main( ) int i,j,aSIZESIZE; for(i=0;iSIZE;i+) ai0=aii=1; for(i=2;iSIZE;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; printf(nthe yanghui strangle:n); array(a);void array(int aSIZE) int i,j; for(i=0;iSIZE;i+) for(j=0;ji+1;j+) printf(%-5d,aij); printf(n); 找出二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可能沒(méi)有鞍點(diǎn)。#include #define M 5#define N 4int fun(int aN,int m,int n);void main() int i,j,aMN; printf(nPlease input numbers:n); for(i=0;iM;i+) for(j=0;jN;j+) scanf(%d,&aij); fun(a,M,N);int fun(int aN,int m,int n) int i,j,k,max,flag=0,colun; for(i=0;im;i+) max=ai0; colun=0; for(j=0;jmax) max=aij; colun=j; flag=1; for(k=0;kakcolun) flag=0;continue; if(flag=1) printf(The point a%d%d=%dn,i,colun,max); break; if(flag=0) printf(It is not in the array!n);編程找出一個(gè)二維數(shù)組中值最大和值最小的元素,并告知所在行號(hào)和列號(hào)。#include #define A 3#define B 4void max(int aB);void min(int aB);void main() int aAB=1,5,6,9,4,8,10,13,20,24,18,17; max(a); min(a);void max(int aB) int i,j,max; max=a00; for(i=0;i3;i+) for(j=0;jmax) max=aij; printf(max=%d,row=%d,colun=%dn,max,i,j);void min(int aB) int i,j,min; min=a00; for(i=0;i3;i+) for(j=0;j4;j+) if(aijmin) min=aij; printf(min=%d,row=%d,colun=%dn,min,i,j);_輸入一個(gè)3行4列的矩陣和4行5列的矩陣,計(jì)算這兩個(gè)矩陣相乘的結(jié)果。#include void fun(int a34,int b45,int c35);void main() int i,j,k,a34,b45,c35=0; printf(nPlease input the a array numbers:n); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); printf(Please input the b array numbers:n); for(i=0;i4;i+) for(j=0;j5;j+) scanf(%d,&bij); fun(a,b,c); printf(The c array numbers:n); for(i=0;i3;i+) for(j=0;j5;j+) printf(%d%c,cij,j=4?n:);void fun(int a34,int b45,int c35) int i,j,k; for(i=0;i3;i+) for(j=0;j5;j+) for(k=0;k4;k+) cij+=aik*bkj; _Lab 8Pointers輸入10個(gè)整數(shù),將其中最大 的數(shù)與第一個(gè)數(shù)對(duì)換,把最小的數(shù)與最后一個(gè)數(shù)對(duì)換。要求:輸入、處理和輸出分別用一個(gè)函數(shù)實(shí)現(xiàn)。 輸入三個(gè)整數(shù),要求由大到小輸出。#includevoid main() void input(int *); void max_min_value(int *); void output(int *); int number10; input(number); max_min_value(number); output(number);void input(int number) int i; printf(nPlease input 10 numbers:n); for(i=0;i10;i+) scanf(%d,&numberi);void max_min_value(int number) int *max,*min,*p,temp; max=min=number; for(p=number+1;p*max) max=p; else if(*p*min) min=p; temp=number0; number0=*max; *max=temp; temp=number9; number9=*min; *min=temp; void output(int number) int *p; printf(Now,the new 10 numbers:n); for(p=number;pnumber+10;p+) printf(%d ,*p); printf(n);設(shè)計(jì)一個(gè)函數(shù),對(duì)10個(gè)字符串由小到大順序排序。要求:對(duì)字符串賦初值、排序和輸出都用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)。#include#includevoid main()void input(char *name); void sort(char *name,int n); void print(char *name,int n); char *name10; char a1020; int i; for(i=0;i10;i+) namei=ai; input(name); sort(name,10); print(name,10);void input(char *name) int i; printf(nPlease input ten strings:n); for(i=0;i10;i+)scanf(%s,namei);void sort(char *name,int n) char *temp; int i,j,k; for(i=0;in-1;i+) k=i;for(j=i+1;j0) k=j; if(k!=i) temp=namei; namei=namek; namek=temp; void print(char *name,int n) int i; printf(nNow,the new order strings:n); for(i=0;in;i+) printf(%sn,namei);編寫程序,驗(yàn)證哥德巴赫猜想。哥德巴赫提出:一個(gè)不小于6的偶數(shù)必定能表示為兩個(gè)素?cái)?shù)之和。例如:6=3+38=5+3 10=7+3 要求將6500之間的偶數(shù)表示為兩個(gè)素?cái)?shù)之和。即該程序?qū)⒋蛴〕鲆粋€(gè)偶數(shù)分解成兩個(gè)素?cái)?shù)和的全部組合。#include#includeint prime(int n);void Goldbach(int even,int *a,int *b);void main() int i; int m,n; for(i=6;i=500;i+,i+) Goldbach(i,&m,&n); printf(%d=%d+%dn,i,m,n);if(i%40=0) puts(pressenterto continue);getchar(); int prime(int n) int i; for(i=2;i=sqrt(n);i+) if(n%i=0) return 0; return 1;void Goldbach(int even,int *a,int *b) int m,n; for(m=2;m=even/2;m+) n=even-m; if(prime(m)&prime(n) *a=m; *b=n; 輸入10個(gè)整數(shù),再輸入一個(gè)待查找的整數(shù),采用二分查找法在前10個(gè)整數(shù)中搜索,若存在輸出“found”,否則輸出“not exist”。要求:二分查找時(shí)搜索的工作變量要用指針來(lái)實(shí)現(xiàn)。#include#define SIZE 10void input(int *a);void sort(int *a);int binary_search(int *a,int x);void main() int numSIZE,x,i; int *p=num; printf(input x:n); scanf(%d,&x); input(p); sort(p); printf(nthe new sorting of the array:n); for(i=0;iSIZE;i+) printf(%4d,*p+); if(binary_search(num,x)=1) printf(Found the number); else printf(Not exist in the array);void input(int *a) int *p=a,i; printf(ninput ten numbers:n); for(i=0;iSIZE;i+) scanf(%d,p+);void sort(int *a) int i,*p,t; for(i=0;iSIZE-1;i+) for(p=a;p=*(p+1) t=*p; *p=*(p+1); *(p+1)=t; int binary_search(int *a,int x) int *low=a,*high=a+SIZE-1; int *mid=low+(high-low)/2,flag=0; while(lowx) high=mid-1; else low=mid+1; mid=low+(high-low)/2; return(flag);假設(shè)有一個(gè)數(shù)組int AnSize,假設(shè)其中隱藏著若干0,其余非0整數(shù),寫一個(gè)函數(shù)int Fun(int* A, int nSize),使把0移至后面,非0整數(shù)移至數(shù)組前面并保持原來(lái)的順序,返回值為原數(shù)據(jù)中第一個(gè)元素為0的下標(biāo)。#include #define N 10int Fun(int *A,int nSize);void main() int i; int AN=0,13,6,4,8,0,0,2,1,1; Fun(A,N); printf(nThe new order:n); for(i=0;iN;i+) printf(%d ,Ai); printf(n);int Fun(int *A,int nSize) int i,j; int count = 0; int end=nSize; for(i=0;inSize;i+) if(Ai=0) count+; for(i=0;inSize;i+) if(Ai=0) while(Aend-1=0) end-; if(end=nSize-count) break; Ai = Aend-1; Aend-1 = 0; return end;Lab 9Strings, Preprocessor有n個(gè)國(guó)家名,要求按字母先后順序排列,并按升序輸出。(要求:盡量使用標(biāo)準(zhǔn)字符串函數(shù))#include #include char sort (char (*p)20,int n);void main
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版五年級(jí)語(yǔ)文下冊(cè)第13課《人物描寫一組》精美課件
- 施工總承包管理及協(xié)調(diào)
- 自考《勞動(dòng)法(00167)》考前強(qiáng)化考試題庫(kù)(含答案)
- 畜牧法規(guī)知識(shí)考試題庫(kù)及答案
- 2025年正德職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025年晉中職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 2025年攀枝花攀西職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 中班數(shù)學(xué)主題活動(dòng)策劃方案模板五篇
- 藥品運(yùn)輸合同
- 林業(yè)承包合同標(biāo)準(zhǔn)范本
- 2025民政局離婚協(xié)議書范本(民政局官方)4篇
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 小學(xué)一年級(jí)數(shù)學(xué)上冊(cè)口算練習(xí)題總匯
- 潤(rùn)滑油知識(shí)-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊(cè)第十章靜電場(chǎng)中的能量10-1電勢(shì)能和電勢(shì)練習(xí)含答案
- 九年級(jí)下冊(cè)滬教版上?;瘜W(xué)5.2酸和堿的性質(zhì)研究 課件
- ISO17025經(jīng)典培訓(xùn)教材
- 東南大學(xué)宣講介紹
- 九年級(jí)下冊(cè)-2023年中考?xì)v史總復(fù)習(xí)知識(shí)點(diǎn)速查速記(部編版)
評(píng)論
0/150
提交評(píng)論