C語言程序簡單例子_第1頁
C語言程序簡單例子_第2頁
C語言程序簡單例子_第3頁
C語言程序簡單例子_第4頁
C語言程序簡單例子_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、emain()floata, 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.2f,x2 =%5.2f” , x1, x2);4雞兔同籠,已知雞兔總頭數(shù)為h,總腳數(shù)為 f,求雞兔各多少只?(h 和的值由鍵盤輸入,輸出雞和兔的頭數(shù))#includemain()inth, f, x,y;scanf(“ %d%d” , &h, &f);x=2*h-f/2;y=f/2-h;printf(“ x=%d,y=%d” , x,

3、y);2/32實驗三參考答案1.輸入三個數(shù) a、b、c,要求按由小到大的順序輸出。#includemain()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);3/322編寫程序,輸入三角形xx a、b、c,判斷 a、b、c 能否構(gòu)成三角形,若不能則輸出相應(yīng)的信息,若能則判斷組成的是等腰、等邊、直角還是一般三角形。(1)#includemain()float a,b,c,t;scanf(“ %f,%

4、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( 等“腰直角三角形 ” );4/32elseprintf( 一“般等腰三角形 ” );else if(c*c=a*a+b*b)printf( 一“般直角三角形 ” );else printf( 一般“三角形 ” );elseprintf( 不“構(gòu)成三角形 ” );(2)#includemain()float a

5、,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( 等邊三角型“” );5/32else if(a=b & c*c=a*a+b*b) printf( 等腰直角三“角形 ” );else if (a=b) printf( 一般等腰“三角形 ” );else if(c*c=a*a+b*b) printf(一般直角“三角形 ” );else pri

6、ntf( 一般“三角形 ” );3編程實現(xiàn)下列函數(shù)x(x1)y=2x-1()|3x-11|()#include#includemain()int x,y;printf(input x=:);scanf(%d,&x);if(x1)y=x;elseif(x10)y=2*x-1;elsey=abs(3*x-11);printf(x=%d y=%dn,x,y);6/324編寫程序,輸入一百分制成績,對應(yīng)輸出等級 A、B、C、D、E,90 分以上為 A,80 分89 分為 B,70 分79 分為 C,60 分69 分為 D,60 分以下為E。方法一:用 if 語句#includemain()floats

7、core;chargrade;scanf(%f,&score);if(score100|score=90)grade=A;elseif(score=80)grade=B;elseif(score=70)grade=C;elseif(score=60)grade=D;elsegrade=E;printf(the student grade=%cn,grade);方法二:用 switch 語句。7/32注意, case后的表達式必須是一個常量表達式,所以在以用switch 語句之前,必須把 0100 之間的成績分別化成相關(guān)的常量。所有A(除 100 以外),B,C,D 類的成績的共同特點是十位數(shù)相

8、同,此外都是E類。則由此可得把score 除十取整,化為相應(yīng)的常數(shù)。#includemain()floatscore,ints;chargrade;scanf(%f,&score);s=score/10;if(s10) printf(ninput error!);elseswitch (s)case 10:case9:grade =A;break;case8:grade =B;break;case7:grade =C;break;case6:grade =D;break;8/32default: grade =E;printf(the studentgrade =%c n , ch);實驗四參

9、考答案1編寫程序,計算以下級數(shù)前nxx 和。#includevoid main()inti, n;floats=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.2fsum);”,9/322編程打印如下圖案(書后習題第3 題):*#include main( )int i, j, n;for(i=1;i=7;i+)for(j=0;j14-2*i;j+)printf( );for(j=0;j2*i;j+)printf(*);printf(n);3編寫程序?qū)崿F(xiàn)輸

10、入整數(shù) n,輸出如下所示由數(shù)字組成的菱形。(圖中n=5)110/321 2 11232112343211234543211234321123211 2 11#include main( )int i, j,n;scanf(%d, &n);for(i=1;in;i+)for(j=1;j0;j-)printf( %d, j);printf(n);for(i=n;i0;i-)11/32for(j=1;j0;j-)printf( %d, j);printf(n);4輸出 Fibonacci 數(shù)列第 n 項。其數(shù)列通項公式為Fn=Fn-1+Fn-2,F(xiàn)1=1,F(xiàn)21。方法一:#includemain()

11、floatf, f1=1, f2=1;int i, n;scanf(%d, &n);for(i=3; i=n; i+)f=f1+f2;f1=f2;f2=f;printf(%10.0f n, f );12/32方法二:#include #defineNUM20void main()int i;float fNUM=1,1;for(i = 2; i NUM; i+)fi = fi-2+fi-1;for(i = 0; i NUM; i+)printf(%10.0f n, fi);實驗五參考答案1編寫程序,將 1,2,3 這三個數(shù)賦給數(shù)組 a,將 5,6,7 賦給數(shù)組 b,將兩數(shù)組對應(yīng)元素相加的和賦給

12、數(shù)組 c,輸出數(shù)組 c#include void main()int a3=1,2,3, b3=4,5,6, c3;int i;for(i=0;i3;i+)13/32ci=ai+bi;printf(%d,ci);2輸入任意 10 個數(shù),按從大到小或從小到大的順序輸出(“冒泡 ”排序)#include #defineNUM10void main ()int aNUM, i, j, temp, flag;printf (input %d numbers: n, NUM);for (i=0; iNUM; i+)scanf (%d, &ai);for (i=1; iNUM; i+)for (j=0;

13、jaj+1)temp=aj;14/32aj=aj+1;aj+1=temp;flag = 1;if (flag = 0)break;printf (the sorted numbers:n);for (i=0; iNUM; i+)printf (%d , ai);3輸入 10 個整數(shù)并存放在一維數(shù)組中,找出其中最大值和此元素的下標#include #define NUM10void main() int aNUM; int i,max, index; for(i=0; iNUM;i+)scanf(%d,&ai);max=a0;for(i=0; iNUM;i+)15/32if(maxai)max=

14、ai;index=i;printf(max=%d,index=%d, max, index);4將從鍵盤輸入的字符串進行逆序輸出,逆序后的字符串仍然保留在原來字符數(shù)組中。(不得調(diào)用任何字符串處理函數(shù)包括 strlen)#include #defineNUM80void main() char aNUM, temp; int i, j, index;for(i=0; iNUM;i+)scanf(%c,&ai);if(ai=n)break;ai=0;index=i;16/32for(i=0, j=index-1; i=index/2;i+, j-)temp=ai;ai=aj;aj=temp;for

15、(i=0; iNUM; i+)if(ai=0)break;printf(%c, ai);printf(n);實驗五參考答案1編寫函數(shù),求表達式的值, x 有由主函數(shù)輸入。(請同學們用有返回值和無返回值兩種方式去做,練習簡單的函定義、聲明、及調(diào)用方法)有返回值#include float fun(float x)float m ;m=x*x-5*x+4;17/32returnm ;void main()floata, f;scanf(%f, &a);f=fun(a);printf(%fn, f);無返回值#include voidfun(float x)float m ;m=x*x-5*x+4;

16、printf(%fn, m);void main()floata;scanf(%f, &a);18/32fun(a);2編寫函數(shù),按如下遞歸公式求函數(shù)值。1(n=0)fun(n)=(n0)#include int fun(int n)int m;if(n=0)m=1;elsem=2*fun(n-1)+1;return m;void main()int a, f;scanf(%d, &a);f=fun(a);printf(%d n, m);19/32編寫函數(shù)求數(shù)n 所有質(zhì)因子(所有為素數(shù)的因子)并輸出,n 由主函數(shù)輸入。#include #include int prime(int m)int

17、j;if (m = 1)return 0;else if (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;void main()int i,n,flag;scanf(%d,&n);for (i=1;i=n; i+)20/32if(n%i=0) flag=prime(i);elseflag=0;if(flag=1) printf(%d n,i);4哥德巴赫猜想之一是,任何一個大于 5 的偶數(shù)都可以表示為兩個素數(shù)之和。編寫程序驗證這一論斷。#include

18、 int prime(int m)int j;if (m = 1)return 0;else if (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;21/32scanf(%d, &n);for (a=6;a=n;a+=2)for (b=3; b=a/2; b+=2)if (prime(b)=1)c=a-b;if (prime(c)=1)printf(%d=%d+%dn,a,b,c);break;二維數(shù)組 score

19、xx存放 5 個學生的 3 門課成績,由主函數(shù)輸入一個數(shù),將所有總成績大于該數(shù)的學生輸出。#include void max(float a53, float score)int i,j;float s;for(i=0;i5;i+)22/32s=0;for(j=0; jscore)printf(stu%d: %.2fn, i+1, s);void main()int i,j;float a53;float score;printf(please input number:n);for(i=0; i5; i+)printf(stu%d:,i+1);for(j=0; j3;j+)scanf(%f,

20、&aij);printf(n);printf(please input score:);23/32scanf(%f, &score);max(a,score);實驗七參考答案1用指針變量輸出任意4*4 矩陣各元素的值(1)#include stdio.hvoid main()int i,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;int *p=a;for(i=0;i4*4;i+)printf(%3d,*(p+i);if(i+1)%4=0)printf(n);(2)#include stdio.hvoid main()24/32int a44=1,1,1,1,2,2,

21、2,2,3,3,3,3,4,4,4,4;int (*p)4=a;int i,j;for(i=0;i4;i+)for(j=0;j4;j+)printf(%3d,*(*(p+i)+j);printf(n);printf(n);2有一個整型二維數(shù)組amn ,找出最大值所在的行和列,以及該最大值#include stdio.hvoid main()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+)25/32for(j=0;j4;j+)printf(%

22、3d,*(*(p+i)+j);if(max*(*(p+i)+j)max=*(*(p+i)+j);x=i;y=j;printf(n);printf(nmax=%dnx=%dny=%dn,max,x,y);3從鍵盤輸入一字符串,求此字符串的xx 并輸出#includeint str_len(char *p)int n=0;while(*p!=0)26/32n+;p+;return n;int main()char a100;int n;printf(Input a string:n);gets(a);n=str_len(a);printf(The lenth:%dn,n);4將字符串 str 中的

23、小寫字母全部改為大寫字母,并輸出該字符串#include stdio.hvoid fun(char *p)int i;for(i=0;*(p+i)!=0;i+)27/32if(*(p+i)=a&*(p+i)=z)*(p+i)=*(p+i)-32;void main()char str50;char *p=NULL;printf(Please input string:n);gets(str);p=str;fun(p);puts(str);實驗八參考答案編寫程序:定義一個職工結(jié)構(gòu)體類型,定義職工結(jié)構(gòu)體變量,從鍵盤輸入一名職工信息,然后輸出。(假設(shè)職工信息包括:姓名、身份證號、工齡、工資)#inc

24、ludestruct employeechar name20;char id20;28/32int gl;int salary;int main()struct employee em;printf(Name:n);scanf(%s,);printf(HM:n);scanf(%s,em.id);printf(GL:n);scanf(%d,&em.gl);printf(GZ:n);scanf(%d,&em.salary);printf(Name:%s HM:%s GL:%d GZ:%dn,,em.id,em.gl,em.salary);return 0;設(shè)計一個保存學生情況的結(jié)構(gòu)體,學生情況包括姓名、學號、年齡。輸入 5 個學生的情況,輸出學生的平均年齡和年齡最小的學生的情況#include struct Student 29/32char name100; /姓名char stdNo10; /學號int age;/年齡;輸入學生信息void input (Student *stu, int n) printf( 輸入 %d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論