語言代碼匯總_第1頁
語言代碼匯總_第2頁
語言代碼匯總_第3頁
語言代碼匯總_第4頁
語言代碼匯總_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1-1. 輸出指定字符串,SayHello#include void main() printf(-n); printf( This my first C program.n); printf( Hello ,C program.n); printf(-n); void reaction(); reaction();void reaction()printf(*n);printf( Hello ,you will be a good code-man.n);printf(*n);1-2. 輸入兩個整數(shù),輸出它們的和,Sum#includevoid main() int a,b,s; int s

2、um(int x,int y); printf(輸入兩個相加的整數(shù):); scanf(%d%d,&a,&b); s=sum(a,b); printf(%d+%d=%dn,a,b,s);int sum(int x,int y) int r=x+y; return r;1-3. 輸入3個整數(shù),輸出其最大的數(shù) max#include void main() int a,b,c,m; int max(int x,int y,int z); printf(輸入求最大數(shù)的3個整數(shù):); scanf(%d%d%d,&a,&b,&c); m=max(a,b,c); printf(最大數(shù)max=%dn,m);i

3、nt max(int x,int y,int z) int temp = x; if(tempy) temp = y; if(tempz) temp = z; return temp;1-4. 輸入4個數(shù),并由小到大的順序輸出 sort#include void main() int a,b,c,d,temp; printf(請輸入需要排序的4個整數(shù):); scanf(%d%d%d%d,&a,&b,&c,&d); if(ab) temp = a;a = b;b = temp; if(ac) temp = a;a = c;c = temp; if(ad) temp = a;a = d;d = t

4、emp; if(bc) temp = b;b = c;c = temp; if(bd) temp = b;b = d;d = temp; if(cd) temp = c;c = d;d = temp; printf(有小到大排序為:%d %d %d %dn,a,b,c,d);1-5. 判斷是否為閏年 leapyear#include void main () int year,i=1; while(i)/用來循環(huán)使用函數(shù)! printf(-n); printf(請輸入需要判定的年份:); scanf(%d,&year); if(year%4=0&year%100!=0)|(year%100=0

5、&year%400=0) printf(%d is a leapyear.n,year); else printf(%d is not a leapyear.n,year); printf(-n); 1-6. 輸入一個華氏溫度,要求輸出攝氏溫度,公式為C=5/9(F-32),取2位小數(shù) temper#includevoid main() float c,f; printf(請輸入一個華氏溫度:); scanf(%f,&f); c=(5.0/9.0)*(f-32);/注意5和9的值要用實數(shù)表示,否則5/9的值為0 printf(攝氏溫度為:%5.2fn,c);1-7. 輸入score,輸出gra

6、de,Grade#include void main() float score; char grade; printf(請輸入學(xué)生成績:); scanf(%f,&score); while(score100|score0) printf(Error Data, please input new score:);scanf(%f,&score); switch(int)(score/10) case 10:case 9: grade = A;break;case 8: grade = B;break;case 7: grade = C;break;case 6: grade = D;break

7、;default:grade = E;break; printf(成績是:%5.1f,相應(yīng)的等級是:%cn,score,grade);1-8. 用while、do.while、for循環(huán)語句寫出n的累加算法 1+2+3+n sum#includevoid main() void method_1(int x); void method_2(int y); void method_3(int z); int n,t=1; while(t) printf(輸入需要累加的值 n:); scanf(%d,&n); printf(-n); method_1(n); printf(-n); method_

8、2(n); printf(-n); method_3(n); printf(-n);void method_1(int x) int s=0,i=1; while(i=x) s=s + i;i+; printf(#while循環(huán) 累加%d = %dn,x,s);void method_2(int y) int i=1,s=0; do s= s + i; i+; while(i=y); printf(#do.while循環(huán) 累加%d = %dn,y,s);void method_3(int z) int s=0,i; for(i=1;i=z;i+) s=s+i; printf(#for循環(huán) 累加

9、%d = %dn,z,s);1-9. 把100200之間的不能被3整除的數(shù)輸出擴:可以改寫為輸出同時被3和5整除的數(shù) continue語句使用 #includevoid main() int n; for(n=100;n=200;n+) if(n%3=0)continue;printf(%d ,n); printf(n);擴:#includevoid main() int n; for(n=100;n=200;n+) if(n%3!=0|n%5!=0) continue; printf(%d ,n); printf(n);1-10. 判斷m是否素數(shù) prime number#include#i

10、ncludevoid main() int m,i,k; printf(請輸入需要判斷是否為素數(shù)的數(shù):); scanf(%d,&m); k = sqrt(m); for(i=2;ik) printf(%d is a prime numbern,m); else printf(%d is not a prime numbern,m);1-11. 求100200間的全部素數(shù) prime#include#includevoid main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1) printf(%5d,m);n=

11、n+1; if(n%10=0) printf(n); printf(n);1-12. 輾轉(zhuǎn)相除法,輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)#includevoid main() int p,r,n,m,temp; printf(請輸入兩個正整數(shù):); scanf(%d %d,&n,&m); if(nm) temp=n;n=m;m=temp; p=n*m; while(m!=0) r=n%m;n=m;m=r; printf(它們的最大公約數(shù)為:%dn,n); printf(它們的最小公倍數(shù)為:%dn,p/n);1-13. 打印11000中能被3整除的數(shù),5個數(shù)字換一行輸出 printf#

12、includevoid main() int i,j=0; for(i=1;i=1000;i+) if(i%3=0) printf(%5d,i); j+;if(j%5=0)printf(n); 1-14. 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)#includevoid main() char c; int letters=0,space=0,digit=0,other=0; printf(請輸入一行字符:n); while(c=getchar()!=n) if(c=a&c=A&c=0&c=9)digit+;elseother+; printf(字母個數(shù):%dn空格個數(shù)

13、:%dn數(shù)字個數(shù):%dn其它字符個數(shù):%dn,letters,space,digit,other);1-15. 輸出所有的水仙花數(shù),水仙花數(shù):一個3位數(shù);各位數(shù)字立方和等于該數(shù)本身,如:153=1*1*1+5*5*5+3*3*3 narcissus num#includevoid main() int i,j,k,n; printf(narcissus number are); for(n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k) printf(%5d,n); printf(n);1-16. 一個數(shù)如

14、果恰好等于它的因子之和,則該數(shù)為“完數(shù)”,如6=1+2+3;要求輸出1000以內(nèi)的所有完數(shù),并附帶其因子一起輸出#includevoid main() int m,s,i; for(m=2;m1000;m+) s=0;for(i=1;im;i+)if(m%i)=0) s=s+i;if(s=m) printf(%d ,its factors are: ,m); for(i=1;im;i+) if(m%i=0) printf(%d ,i); printf(n); 1-17. 求Sn=a+aa+aaa+aaa之值,其中a是一個數(shù)字。例如:222222222222222 n個a(此時n5),n由鍵盤輸

15、入。#includevoid main ( ) int a,n,i=1,sn=0,tn=0; printf(“a,n= :”); scanf(“%d,%d”,&a,&n); while (i=n) tn=tn+a; /*賦值后的tn為i個a組成數(shù)的值*/ sn=sn+tn; /*賦值后的sn為多項式前I項之和*/ a=a*10; +i;printf(“a+aa+aaa+=%dn”,sn);1-18. 階乘 n!#includevoid main() int i,n,s=1; printf(請輸入求階乘的正整數(shù) n:); scanf(%d,&n); for(i=1;i=n;i+) s=s*i;/

16、* i=1; while(i=n) s=s*i; i+; do s=s*i; i+; while(i=n) */ printf(%d! = %dn,n,s);1-19. 1!+2!+3!+n! sum n!#includevoid main() float s=0,t=1; int i,n; printf(請輸入需要求階乘和的正整數(shù):); scanf(%d,&n); for(i=1;i=n;i+) t=t*i;s=s+t; printf(1!+2!+.%d!=%en,n,s);1-20. 求解:#include stdio.h#include conio.hmain() int n1=100,

17、n2=50,n3=10,k; float s1=0,s2=0,s3=0; for(k=1;k=n1;k+) s1+=k; for(k=1;k=n2;k+) s2+=k*k; for(k=1;k=n3;k+) s3+=1.0/k; printf(sum=%8.2fn,s1+s2+s3); getch();1-21. 依次輸入10個數(shù),輸出最大的那個數(shù) max#includevoid main() int n=1,t,max; printf(請依次輸入10整數(shù),每個數(shù)之后回車:n); while(n=10) scanf(%d,&t);if(maxt) max=t;n=n+1; printf(10個

18、整數(shù)中,最大值max=%dn,max);1-22. 一元二次方程求解#include#includevoid main() int a,b,c; float x1,x2,delta; printf(請依次輸入一元二次方程的三個系數(shù):); scanf(%d%d%d,&a,&b,&c); delta = b*b - 4*a*c; if(delta0) x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);printf(該方程有兩個解 x1 = %f,x2 = %fn,x1,x2); else if(delta=0) x1=(-b)/2*a;x2 = x

19、1;printf(該方程有一個解 x1 = x2 = %fn,x1); else printf(該方程無解n);1-23. 求三角形面積 area#include#includevoid main() double a,b,c,s,area; printf(請輸入三角形的三邊長:); scanf(%lf%lf%lf,&a,&b,&c); while(a+b=c|a+c=b|b+c=a) printf(所輸入的三邊長無法構(gòu)成三角形,請重新輸入:);scanf(%lf%lf%lf,&a,&b,&c); s=(a+b+c)/2; area = sqrt(s*(s-a)*(s-b)*(s-c); pr

20、intf(該三角形的面積 area = %5.2lfn,area);1-24. 百元買百雞 100 chicken/100塊買100雞,公雞5塊,母雞3塊,小雞1塊3只#includevoid main() int a,b,c,n=0; for(a=0;a=20;a+) for(b=0;b=33;b+)for(c=0;c=100;c+) if(5*a+3*b+(1/3.0)*c=100&a+b+c=100) n+;printf(公雞個數(shù):%d 母雞個數(shù):%d 小雞個數(shù):%d,a,b,c);printf(n); printf(買法有%d種n,n);1-25. 任意大小的空心菱形 square#i

21、ncludevoid main() int i,j,k,x,y,z,n,a=1; while(a0) printf(請輸入需要打印的空心菱形的邊長單位:);scanf(%d,&n);for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(k=1;k=2*i-1;k+) if(k=1|k=2*i-1)printf(*);elseprintf( ); printf(n);for(x=1;x=n-1;x+) for(y=1;y=x;y+) printf( ); for(z=1;z=(n-x)*2-1;z+) if(z=1|z=(n-x)*2-1)printf

22、(*);elseprintf( ); printf(n); 1-26. 向變量賦予整數(shù) char#include void main() char c1,c2; c1=97; c2=98; printf(%c %cn,c1,c2); printf(%d %dn,c1,c2);1-27. 輸入單個字符 getchat&putchar#includevoid main() char c; c=getchar(); putchar(c); putchar(n);1-28. 大小寫字母的轉(zhuǎn)換 change#include void main() char c1,c2,c3,c4; c1=a; c2=b

23、; c3=c1-32; c4=c2-32; printf(%c 的大寫字母為:%cn%c 的大寫字母為:%cn,c1,c3,c2,c4);1-29. 大小字母自由轉(zhuǎn)換 change#includevoid main() char ch,c; scanf(%c,&ch); if(ch=A&ch=a&ch=z) printf(%c轉(zhuǎn)換后為:%cn,ch,c=ch-32); else printf(errot datan);1-30. 譯密碼,A變成E,a變成e;W變成A,w變成a,非字母字符不變。例如“China!”轉(zhuǎn)換為“Glmre!”#includevoid main() char c; wh

24、ile(c=getchar()!=n) if(c=a&c=A&cZ&cz)c=c-26; printf(%c,c); printf(n);1-31. 強制類型轉(zhuǎn)換 strong change #includevoid main() float x; int i; x=32767.0; i=(int)x%3; printf(x=%f,i=%dn,x,i);/ 結(jié)果:x=32767.0,i=11-32. 按規(guī)律譯密碼: 第一個字母變成第26個字母,第i個字母變成(26-i+1)個字母 changeAZ BY CXAz by cx#includevoid main() int j,n; char c

25、h80,tran80; printf(nInput cipher code:); gets(ch); printf(nncipher code:%s,ch); j=0; while(chj!=0) if(chj=A)&(chj=a)&(chj=z)tranj=219-chj;elsetranj=chj;j+; n=j; printf(noriginal text:); for(j=0;jn;j+) putchar(tranj); printf(n);1-33. 用冒泡法對10個數(shù)進行排序(由小到大) buble sort#includevoid main() int a10; int i,j,

26、t; printf(intput 10 numbers :n); for(i=0;i10;i+) 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(%3d,ai); printf(n);1-34. 用選擇法對10個整數(shù)排序(從小到大)Choose sort#includevoid main() int i,j,min,temp,a11; printf(Enter data:n)

27、; for(i=1;i=10;i+) printf(a%d=,i);scanf(%d,&ai); printf(n); for(i=1;i=10;i+) printf(%5d,ai); printf(n); for(i=1;i=9;i+) min = i;for(j=i+1;jaj) min =j;temp =ai;ai=amin;amin=temp; printf(nThe sortes numbers:n); for(i=1;i=10;i+) printf(%5d,ai); printf(n);1-35. 有一個已排好序的數(shù)組,今輸入一個數(shù),要求按原來排序的規(guī)律將它插入數(shù)組中。 Add#i

28、ncludevoid main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(array a:n);for(i=0;iend)a10=number;else for(i=0;inumber) temp1=ai;ai=number;number=temp1;for(j=i+1;j11;j+) temp2=aj; aj=temp1; temp1=temp2;break; printf(Now,array a:n);for(i=0;i11;i+)printf(%5d,ai);printf(n);加以

29、改進后,可以采用以下方法。void main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,number,end,i,j; printf(array a:n); for (i=0;i=0 & ainumber; i-)/*從數(shù)組中最后一個數(shù)開始比較,凡大于number的數(shù)向后移動*/ ai+1=ai; ai+1=number;/*將number插入到合適位置*/ for (i=0;i11;i+) printf(%5d,ai); printf(n);1-36. 將一個數(shù)組中的值按逆序重新存放,例如原來順序為:8、6、5、4、1。要求改

30、為:1、4、5、6、8。#include#define N 5void main() int aN,i,temp; printf(Enter array a:n); for(i=0;iN;i+) scanf(%d,&ai); printf(array a:n); for(i=0;iN;i+) printf(%4d,ai); for(i=0;iN/2;i+) temp=ai;ai=aN-i-1;aN-i-1=temp; printf(n Now,array a:n); for(i=0;iN;i+) printf(%4d,ai); printf(n);運行情況如下:Enter array a:8

31、6 5 4 1array a:8 6 5 4 1Now,array a:1 4 5 6 81-37. 打印出楊輝三角(打印10行)#include#define N 11void main() int i,j,aNN; for(i=1;iN;i+) aii=1;ai1=1; for(i=3;iN;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; for(i=1;iN;i+) for(j=1;j=i;j+)printf(%6d,aij);printf(n); printf(n);1-38. 有15個數(shù)按由大到小的順序存放在一個數(shù)組中,輸入一個數(shù),要求用折半查找法找

32、出該數(shù)是數(shù)組中第幾個元素的值,如果該數(shù)不再數(shù)組中,則打印出“無此數(shù)” half search#include#define N 15void main() int i,j,number,top,bott,mid,loca,aN,flag = 1,sign = 1; char c; printf(Enter data:n); scanf(%d,&a0); i=1; while(i=ai-1)i+;elseprintf(Enter this data again:); printf(n); for(i=0;iN;i+) printf(%4d,ai); printf(n); flag=1; whil

33、e(flag) printf(Input number to look for:);scanf(%d,&number);loca=0;top=0;bott=N-1;if(numberaN-1)loca=-1;while(sign=1)&(top=bott) mid =(bott+top)/2; if(number=amid) loca = mid;printf(Find %d,its position is %dn,number,loca+1);sign = 0; else if(number amid) bott = mid-1; else top=mid+1;if(sign=1|loca=

34、-1) printf(%d is not found.n,number);printf(Continue or not(Y/N)?);scanf(%c,&c);if(c=N|c=n)flag=0; 1-39. 求一個33矩陣對角線元素之和#includevoid main() int a33,sum=0; int i,j; printf(“Enter data:n”); for (i=0;i3;i+)for (j=0;j3;j+) scanf(“%d”,&aij);for (i=0;i3;i+)sum=sum+aii;printf(“sum = %5dn”,sum);運行情況如下:Enter

35、data:1 2 3 4 5 6 7 8 9sum = 151-40. 找出一個二維數(shù)組中的鞍點,即該位置上的元素在該行上最大,在該列上最小。也可能沒有鞍點# define N 10# define M 10main ( )int i,j,k,m,n,flag1,flag2,aNM,max,maxi,maxj; printf(“n 輸入行數(shù) n:”); scanf(“%d”,&n); printf(“n輸入列數(shù)m:”); scanf(“%d”,&m); for (i=0;in;i+)printf(“第%d行?n”,i); for (j=0;jm;j+) scanf(“%d”,&aij); fo

36、r (i=0;in;i+)for(j=0;jm;j+) printf(“%5d”,aij); printf(“n”); flag2=0; for (i=0;in;i+)max=ai0; for (j=0;jmax) max=aij; maxj=j; for (k=0,flag1=1;kakmaxj) flag=0; if (flag1) printf(“n第%d行,第%d列的%d是鞍點n”,i,maxj,max); flag2=1; if (! flag2) printf(“n矩陣中無鞍點!n”);運行結(jié)果: 輸入行數(shù)n:3輸入列數(shù)m:4 第0行? 1 2 3 4 第1行? 4 5 5 6 第

37、2行? 3 5 6 71 2 3 44 5 3 63 5 6 7 第0行,第3列的4是鞍點 輸入行數(shù)n:3輸入列數(shù)m:4 第0行? 2 4 90 7 第1行? 3 4 5 8 第2行? 9 1 2 32 4 90 73 4 5 89 1 2 3 矩陣中無鞍點!1-41. 打印一下圖表* * * * *void main() char a=*; int i,j,k; char space= ; for (i=0;i5;i+) /*輸出5行*/ printf( ); /*每行前面留4個空格*/ for(j=1;j=i;j+) printf(%c,space); /*每行再留1個空格*/ puts(

38、a); /*每行輸出5個*號*/ 運行結(jié)果:* * * * * * * * * * * * * * * * * * * * * * * *1-42. 編寫一個程序,將字符數(shù)組s2的全部字符拷貝到字符數(shù)組s1中,不用strcpy函數(shù)。拷貝時,0也要拷過去,0后面的字符不拷貝。# include main ( ) char s180,s280; int i; printf(“Input s2:”); scanf(“%s”,s2); for (i=0;iu) t=u;u=v;v=t; while (r=u%v)!=0) u=v;v=r; return(v);int lcd(int u,int v,i

39、nt h) return(u*v/h);main ( )int u,v,h,l; scanf(“%d,%d”,&u,&v); h=hcf(u,v); printf(“H.C.F=%dn”,h); l=lcd(u,v,h); printf(“L.C.D=%dn”,l);運行結(jié)果如下:24,16H.C.F=8L.C.D=481-44. 求方程ax2+bx+c=0的根,用3個函數(shù)分別求當(dāng)b2-4ac大于0,等于0和小于0時的根,并輸出結(jié)果。從主函數(shù)輸入a,b,c的值。# include float x1,x2,disc,p,q;greater_than_zero(float a,float b) /*定義一個函數(shù),用來求disc0時方程的根*/x1=(-b+sqrt(disc)/(2*a) x2=(-b-sqrt(disc)/(2*a)equal_to_zero(float a,float b) /*定義一個函數(shù),用來求disc=0時方程的根*/x1=x2=(-b)/(2*a);smaller_than_z

溫馨提示

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

最新文檔

評論

0/150

提交評論