C語言程序簡單例子_第1頁
C語言程序簡單例子_第2頁
免費預(yù)覽已結(jié)束,剩余29頁可下載查看

下載本文檔

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

文檔簡介

1、1/ 32實驗二參考答案1.輸入兩個整型數(shù)字,輸出他們的和。#in cludemain ()int a, b, sum;scanf(“d%d , &a, &b);sum二a+b;printf(“a+b=%dUm );2.輸入兩個實型數(shù),輸出他們的和與乘積。#in cludemain ()float a, b, sum, product;scanf(“f%f”, &a, &b);sum=a+b;product二a*b;printf(“a+b=%5.a*b =%5.2f”, sum, product);3.求方程的根(設(shè))(其中a,b,c的值由鍵盤輸入)2/ 32#

2、i nclude#in cludemain ()float a, b, c, dt, x1, x2;scanf(“f%f%f”, &a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(“x1=%5.22 =%5.2f”, x1, x2);4.雞兔同籠,已知雞兔總頭數(shù)為h,總腳數(shù)為f,求雞兔各多少只? (h和f的值由鍵盤輸入,輸出雞和兔的頭數(shù))#i ncludemain ()int h, f, x,y;scanf(“%d%d , &h, &f);x=2*h-f/2;y

3、=f/2-h;printf(“x=%d=%d”, x, y);3/ 32實驗三參考答案1輸入三個數(shù)a、b、c,要求按由小到大的順序輸出#in cludemain ()float a,b,c,t;scanf(“f,%f,%f”,&a,&b,&c);if(ab)t=a; a=b; b=t;if(ac)t=a; a=c; c=t;if(bc)t=b; b=c; c=t;printf(“f,%f,%f”,a,b,c);4/ 322.編寫程序,輸入三角形xx a、b、c,判斷a、b、c能否構(gòu)成三角形,若不能則輸出相應(yīng)的信息,若能則判斷組成的是等腰、等邊、直角還是一般三 角形。(1

4、)#i ncludemain ()float a,b,c,t;scanf(“f,%f,%f”,&a,&b,&c);if(ab)t=a; a=b; b=t;if(ac)t=a;a=c; c=t;if(bc)t=b;b=c; c=t;if(a+bc)if(a=b|b=c)if(a=c) printf(等邊三角型”);else if(c*c=a*a+b*b) printf(等腰直角三角形”);5/ 32else printf(般等腰三角形”);else if(c*c=a*a+b*b) printf(一般直角三角形”);else printf(般三角形”);else print

5、f(不構(gòu)成三角形”);#in cludemain ()float a,b,c,t;scanf(“f,%f,%f”,&a,&b,&c);if(ab)t=a; a=b; b=t;if(ac)t=a;a=c; c=t;if(bc)t=b;b=c; c=t;if(a+b=c) printf(不構(gòu)成三角形”);else if(a=b & b=c & a=c) printf(等邊三角型“);6/ 32else if(a=b & c*c=a*a+b*b) printf(等腰直角三角形”);else if (a=b) printf(般等腰三角形”);else i

6、f(c*c=a*a+b*b) printf(一般直角三角形”);else printf(般三角形”);3.編程實現(xiàn)下列函數(shù)x(x1)y= 2x-1()|3x-11|()#in clude#in cludemain ()int x,y;prin tf(i nput x=:);sca nf(%d,& x);if(x1) y=x;else if(x10)y=2*x-1;else y=abs(3*x-11);prin tf(x=%d y=%dn,x,y);7/ 324.編寫程序,輸入一百分制成績,對應(yīng)輸出等級A、B、C、D、E,90分以上為A,80分一89分為B,70分一79分為C, 60分一

7、69分為D,60分以下為E。方法一:用if語句#i ncludemain ()float score;char grade;sca nf(%f, &score);if(score100|score=90) grade二A:else if(score=80)grade=B;else if(score=70)grade=C;else if(score=60)grade=D;else grade二E:prin tf(the stude nt grade=%c n, grade);8/ 32方法二:用switch語句。注意,case后的表達式必須是一個常量表達式,所以在以用switch語句之前

8、,必須把0100之間的成績分別化成相關(guān)的常量。所有A(除100以外),B,C, D類的成績的共同特點是十位數(shù)相同,此外都是E類。則由此可得把score除十取整,化為相應(yīng)的常數(shù)。#in cludemain ()float score, ints;char grade;sca nf(%f, &score);s=score/10;if(s10)prin tf(nin put error!);elseswitch (s)case 10:case9:grade =A;break;case8:grade =B;break;case7:grade =C;break;case6:grade =D;br

9、eak;default: grade =E;9/ 32prin tf(the stude nt grade =%c n , ch);實驗四參考答案1.編寫程序,計算以下級數(shù)前nxx和。#in cludevoid mai n()int i, n;float s=1.0, sum=1.0, x;scanf(“%d, %f”, &n, &x);for(i=1; i二n; i+)s=s*x/i;sum=sum+s;printf(“sum=%5.2sum);2.編程打印如下圖案(書后習(xí)題第3題):10/ 32*#i nclude main ()int i, j, n;for(i=1; i

10、=7;i+)for(j=0; j14-2*i;j+)prin tf();for(j=0; j2*i; j+)pri ntf(*);prin tf(n);3.編寫程序?qū)崿F(xiàn)輸入整數(shù)n,輸出如下所示由數(shù)字組成的菱形。(圖中n=5)11/321 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 11#in elude main ()int i, j,n;sca nf(%d, &n);for(i=1; in; i+)for(j=1; j0; j-)pri ntf(” %d, j);prin tf(n);for(

11、i=n; i0;i-)for(j=1; j0; j-)pri ntf(” %d, j);prin tf(n);4.輸出Fibonacci數(shù)列第n項。其數(shù)列通項公式為Fn=Fn-1+Fn-2 F1=1, F21。方法一:#in cludemain ()floatf, f仁1, f2=1;int i, n;sca nf(%d, &n);for(i=3; i二n; i+)f=f1+f2;f1=f2;f2=f;prin tf(%10.0f n, f );13/ 32方法二:#i nclude #define NUM 20void mai n()int i;float fNUM=1,1;for(

12、i = 2; i NUM; i+)fi = fi-2+fi-1;for(i = 0; i NUM; i+)prin tf(%1O.Of n, fi);實驗五參考答案1.編寫程序,將1,2,3這三個數(shù)賦給數(shù)組a,將5,6,7賦給數(shù)組b,將兩數(shù)組對應(yīng)元素相加的和賦給數(shù)組c,輸出數(shù)組c#i nclude void mai n()int a3=1,2,3, b3=4,5,6, c3;int i;for(i=0;i3;i+)ci=ai+bi;14/ 32prin tf(%d,ci);2.輸入任意10個數(shù),按從大到小或從小到大的順序輸出(#in elude #defi ne NUM 10void mai

13、n ()int aNUM, i, j, temp, flag;printf (i nput %d numbers: n, NUM);for (i=0; ivNUM; i+)scanf (%d, & ai);for (i=1; iNUM; i+)for (j=0; jaj+1)temp=aj;aj=aj+1;aj+1=temp;flag = 1;冒泡”排序)15/ 32if (flag = 0) break;printf (the sorted nu mbers:n);for (i=0; ivNUM; i+)printf (%d , ai);3.輸入10個整數(shù)并存放在一維數(shù)組中,找出其中

14、最大值和此元素的下標#in clude #defi ne NUM 10void mai n() int aNUM;int i,max, in dex;for(i=0; iNUM;i+)sca nf(%d, &ai);max=a0;for(i=0; iNUM;i+)if(maxai)max=ai;in dex=i;16/ 32prin tf(max=%d, in dex=%d, max, in dex);4.將從鍵盤輸入的字符串進行逆序輸出,逆序后的字符串仍然保留在原來 字符數(shù)組中。(不得調(diào)用任何字符串處理函數(shù)包括strlen)#i nclude #define NUM 80void m

15、ai n() char aNUM, temp;int i, j, i ndex;for(i=0; iNUM;i+)sca nf(%c,&ai);if(ai=n) break;ai=0:in dex=i;for(i=0, j=i ndex-1; i=i ndex/2; i+, j-)temp二ai;ai=aj;17/ 32aj=temp;for(i=0; ivNUM; i+)if(ai=O) break;prin tf(%c, ai);prin tf(n);實驗五參考答案1.編寫函數(shù),求表達式的值,x有由主函數(shù)輸入。(請同學(xué)們用有返回值 和無返回值兩種方式去做,練習(xí)簡單的函定義、聲明、及

16、調(diào)用方法)有返回值#i nclude float fun(float x)float m ;m=x*x-5*x+4;retur nm ;void mai n()18/ 32float a, f;sea nf(%f, & a);f=fun (a);prin tf(%f n, f);無返回值#in elude void fun( float x)float m ;m=x*x-5*x+4;prin tf(%f n, m);void mai n()float a;sea nf(%f, & a);fun (a);2.編寫函數(shù),按如下遞歸公式求函數(shù)值。1(n=0)fun(n )=19/ 3

17、2(n 0)#in elude int fun (i nt n)int m;if(n=O) m=1;elsem=2*fu n(n-1)+1;retur n m;void mai n()int a, f;sca nf(%d, & a);f=fun (a);prin tf(%d n, m);編寫函數(shù)求數(shù)n所有質(zhì)因子(所有為素數(shù)的因子)并輸出,n由主函數(shù)輸 入。#i nclude #in elude int prime(i nt m)20/ 32int j;if (m = 1) return 0;else if (m = 2) return 1;else if (m%2=0) return

18、0;elsefor(j=3; j=sqrt(m); j+=2) if(m%j=O) return 0;return 1;void mai n()int i,n ,flag;sca nf(%d,&n);for (i=1;i二n; i+)if(n %i=0) flag二prime(i);else flag=0;if(flag=1) prin tf(%d n ”,i);4.哥德巴赫猜想之一是,任何一個大于5的偶數(shù)都可以表示為兩個素數(shù)之和。編寫程序驗證這一論斷。#i nclude 21/ 32int prime(i nt m)int j;if (m = 1) return 0;else if

19、(m = 2) return 1;else if (m%2=0) return 0;elsefor(j=3; j=sqrt(m); j+=2)if(m%j=0) return 0;return 1;main ()int a,b,c ,n;sea nf(%d, &n);for (a=6; a二n; a+=2)for (b=3; b=a/2; b+=2)if (prime(b)=1)e=a-b;if (prime(e)=1)22/ 32prin tf(%d=%d+%dn,a,b,e);break;二維數(shù)組scorexx存放5個學(xué)生的3門課成績,由主函數(shù)輸入一個數(shù),將所 有總成績大于該數(shù)的學(xué)

20、生輸出。#i nclude void max(float a53, float score)int i,j;float s;for(i=0;i5;i+)s=0;for(j=0; jscore)prin tf(stu%d: %.2fn, i+1, s);void mai n()23/ 32int i,j;float a53;float score;prin tf(please in put nu mber:n);for(i=0; i5; i+)prin tf(stu%d:, i+1);for(j=0; j3; j+)sca nf(%f,&aij);prin tf(n);prin tf(p

21、lease in put score:);sea nf(%f, &score);max(a,score);實驗七參考答案1.用指針變量輸出任意4*4矩陣各元素的值(1)#i nclude stdio.hvoid mai n()int i,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;24/ 32int *p=a;for(i=0;i4*4;i+)prin tf(%3d,*(p+i);if(i+1)%4=0)prin tf(n);#i nclude stdio.hvoid mai n()int a44=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4

22、;int (*p)4=a;int i,j;for(i=0;i4;i+)for(j=0;j4;j+)prin tf(%3d,*(*(p+i)+j);prin tf(n);prin tf(n);25/ 322.有一個整型二維數(shù)組amn,找出最大值所在的行和列,以及該最大值#i nclude stdio.hvoid mai n()int a44=1,34,35,26,7,12,92,24,55,33,53,6,7,41,34,64;int (*p)4=a;int i,j,x,y,max;max=a00;for(i=0;i4;i+)for(j=0;j4;j+)prin tf(%3d,*(*(p+i)+

23、j);if(max*(*(p+i)+j)max=*(*(p+i)+j);x=i;y=j;prin tf(n);26/ 32prin tf(nm ax=%dnx=%dny=%dn,max,x,y);3.從鍵盤輸入一字符串,求此字符串的xx并輸出#in cludeint str_le n( char *p)int n=0;while(*p!=0)n+;P+;return n;int mai n()char a100;int n;prin tf(l nput a stri ng:n);gets(a);n=str_le n(a);prin tf(The len th:%dn, n);27/ 324.將

24、字符串str中的小寫字母全部改為大寫字母,并輸出該字符串#i nclude stdio.hvoid fun( char *p)int i;for(i=0;*(p+i)!=0;i+)if(*(P+i)=a&*(p+i)二z)*(P+i)=*(P+i)-32;void mai n()char str50;char *p=NULL;prin tf(Please in put stri ng:n);gets(str);p=str;fun(p);puts(str);實驗八參考答案1.編寫程序:定義一個職工結(jié)構(gòu)體類型,定義職工結(jié)構(gòu)體變量,從鍵盤輸 入一名職工信息,然后輸出。(假設(shè)職工信息包括:姓名

25、、身份證號、工齡、 工資)28/ 32#in clude struct employeechar n ame20;char id20;int gl;int salary;;int mai n()struct employee em;prin tf(Name:n);sea nf(%s,em. name);prin tf(HM:n);sea nf(%s,em.id);prin tf(GL:n);sea nf(%d, &em.gl);prin tf(GZ:n);sea nf(%d, &em.salary);printf(Name:%s HM:%s GL:%dGZ:%dn,em. name,em.id,em.gl,em.salary);return 0;29/ 322.設(shè)計一個保存學(xué)生情況的結(jié)構(gòu)體,學(xué)生情況包括姓名、學(xué)號、年齡。輸 入5個學(xué)生的情況,輸出學(xué)生的平均年齡和年齡最小的學(xué)生的情況#i nclude struct Stude nt char name100; /姓名char stdNo10; /學(xué)號int age; /年齡;/輸入學(xué)生信息void in put (Stude nt *stu, int 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論