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

下載本文檔

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

文檔簡介

C語言程序簡單例子C語言程序簡單例子C語言程序簡單例子C語言程序簡單例子編制僅供參考審核批準生效日期地址:電話:傳真:郵編:實驗二參考答案1.輸入兩個整型數(shù)字,輸出他們的和。#include<>main(){inta,b,sum;scanf(“%d%d”,&a,&b);sum=a+b;printf(“a+b=%d”,sum);}2.輸入兩個實型數(shù),輸出他們的和與乘積。#include<>main(){floata,b,sum,product;scanf(“%f%f”,&a,&b);sum=a+b;product=a*b;printf(“a+b=%,a*b=%”,sum,product);}3.求方程的根(設)(其中a,b,c的值由鍵盤輸入)。#include<>#include<>main(){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=%,x2=%”,x1,x2);}4.雞兔同籠,已知雞兔總頭數(shù)為h,總腳數(shù)為f,求雞兔各多少只(h和f的值由鍵盤輸入,輸出雞和兔的頭數(shù))#include<>main(){inth,f,x,y;scanf(“%d%d”,&h,&f);x=2*h-f/2;y=f/2-h;printf(“x=%d,y=%d”,x,y);}

實驗三參考答案1.輸入三個數(shù)a、b、c,要求按由小到大的順序輸出。#include<>main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“%f,%f,%f”,a,b,c);}2.編寫程序,輸入三角形三邊a、b、c,判斷a、b、c能否構成三角形,若不能則輸出相應的信息,若能則判斷組成的是等腰、等邊、直角還是一般三角形。(1)#include<>main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}if(a+b>c){if(a==b||b==c){if(a==c)printf(“等邊三角型”);elseif(c*c==a*a+b*b)printf(“等腰直角三角形”);elseprintf(“一般等腰三角形”);}elseif(c*c==a*a+b*b)printf(“一般直角三角形”);elseprintf(“一般三角形”);}elseprintf(“不構成三角形”);}(2)#include<>main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}if(a+b<=c)printf(“不構成三角形”);elseif(a==b&&b==c&&a==c)printf(“等邊三角型”);elseif(a==b&&c*c==a*a+b*b)printf(“等腰直角三角形”);elseif(a==b)printf(“一般等腰三角形”);elseif(c*c==a*a+b*b)printf(“一般直角三角形”);elseprintf(“一般三角形”);}3.編程實現(xiàn)下列函數(shù)x(x<1)y=2x-1()|3x-11|()#include<>#include<>main(){intx,y;printf("inputx=:");scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=abs(3*x-11);printf("x=%dy=%d\n",x,y);}4.編寫程序,輸入一百分制成績,對應輸出等級A、B、C、D、E,90分以上為A,80分—89分為B,70分—79分為C,60分—69分為D,60分以下為E。方法一:用if語句#include<>main(){floatscore;chargrade;scanf("%f",&score);if(score>100||score<0) printf("\ninputerror!");else{if(score>=90)grade='A';elseif(score>=80)grade='B';elseif(score>=70)grade='C';elseif(score>=60)grade='D'; elsegrade='E'; }printf("thestudentgrade=%c\n",grade);}方法二:用switch語句。注意,case后的表達式必須是一個常量表達式,所以在以用switch語句之前,必須把0~100之間的成績分別化成相關的常量。所有A(除100以外),B,C,D類的成績的共同特點是十位數(shù)相同,此外都是E類。則由此可得把score除十取整,化為相應的常數(shù)。#include<>main(){floatscore,ints;chargrade;scanf("%f",&score);s=score/10;if(s<0||s>10)printf("\ninputerror!");else{switch(s){ case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;default:grade='E';}printf("thestudentgrade=%c\n",ch); }}

實驗四參考答案1.編寫程序,計算以下級數(shù)前n項之和。#include<>voidmain(){inti,n;floats=,sum=,x;scanf(“%d,%f”,&n,&x);for(i=1;i<=n;i++){s=s*x/i;sum=sum+s;}printf(“sum=%”,sum);}2.編程打印如下圖案(書后習題第3題):********************************************************#include<>main(){inti,j,n;for(i=1;i<=7;i++){for(j=0;j<14-2*i;j++)printf("");for(j=0;j<2*i;j++)printf("*");printf("\n");}}3.編寫程序實現(xiàn)輸入整數(shù)n,輸出如下所示由數(shù)字組成的菱形。(圖中n=5)11211232112343211234543211234321123211211#include<>main(){inti,j,n;scanf("%d",&n);for(i=1;i<n;i++){for(j=1;j<i;j++)printf("%d",j);for(j=i;j>0;j--)printf("%d",j);printf("\n");}for(i=n;i>0;i--){for(j=1;j<i;j++)printf("%d",j);for(j=i;j>0;j--)printf("%d",j);printf("\n");}}4.輸出Fibonacci數(shù)列第n項。其數(shù)列通項公式為Fn=Fn-1+Fn-2,F(xiàn)1=1,F(xiàn)2=1。方法一:#include<>main(){floatf,f1=1,f2=1;inti,n;scanf("%d",&n);for(i=3;i<=n;i++){f=f1+f2;f1=f2;f2=f;}printf("%\n",f);}方法二:#include<>#defineNUM20voidmain(){inti;floatf[NUM]={1,1};for(i=2;i<NUM;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<NUM;i++)printf("%\n",f[i]);}

實驗五參考答案1.編寫程序,將1,2,3這三個數(shù)賦給數(shù)組a,將5,6,7賦給數(shù)組b,將兩數(shù)組對應元素相加的和賦給數(shù)組c,輸出數(shù)組c#include<>voidmain(){inta[3]={1,2,3},b[3]={4,5,6},c[3];inti;for(i=0;i<3;i++){c[i]=a[i]+b[i];printf("%d",c[i]);}}2.輸入任意10個數(shù),按從大到小或從小到大的順序輸出(“冒泡”排序)#include<>#defineNUM10voidmain(){inta[NUM],i,j,temp,flag;printf("input%dnumbers:\n",NUM);for(i=0;i<NUM;i++)scanf("%d",&a[i]);for(i=1;i<NUM;i++)for(j=0;j<NUM-i;j++){flag=0;if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;flag=1;}if(flag==0)break;}printf("thesortednumbers:\n");for(i=0;i<NUM;i++)printf("%d",a[i]);}3.輸入10個整數(shù)并存放在一維數(shù)組中,找出其中最大值和此元素的下標#include<>#defineNUM10voidmain(){inta[NUM];inti,max,index;for(i=0;i<NUM;i++)scanf("%d",&a[i]);max=a[0];for(i=0;i<NUM;i++){if(max<a[i]){max=a[i];index=i;}}printf("max=%d,index=%d",max,index);}4.將從鍵盤輸入的字符串進行逆序輸出,逆序后的字符串仍然保留在原來字符數(shù)組中。(不得調用任何字符串處理函數(shù)包括strlen)#include<>#defineNUM80voidmain(){chara[NUM],temp;inti,j,index;for(i=0;i<NUM;i++){scanf("%c",&a[i]); if(a[i]=='\n')break;}a[i]='\0';index=i;for(i=0,j=index-1;i<=index/2;i++,j--){temp=a[i];a[i]=a[j];a[j]=temp;}for(i=0;i<NUM;i++){if(a[i]=='\0')break;printf("%c",a[i]);}printf("\n");}

實驗五參考答案1.編寫函數(shù),求表達式的值,x有由主函數(shù)輸入。(請同學們用有返回值和無返回值兩種方式去做,練習簡單的函定義、聲明、及調用方法)有返回值#include<>floatfun(floatx){floatm

;m=x*x-5*x+4;returnm

;}voidmain(){floata,f;scanf("%f",&a);f=fun(a);printf("%f\n",f);}無返回值#include<>voidfun(floatx){floatm

;m=x*x-5*x+4;printf("%f\n",m);}voidmain(){floata;scanf("%f",&a);fun(a);}2.編寫函數(shù),按如下遞歸公式求函數(shù)值。 1(n=0)fun(n)=(n>0)#include<>intfun(intn){intm;if(n==0)m=1;elsem=2*fun(n-1)+1;returnm;}voidmain(){inta,f;scanf("%d",&a);f=fun(a);printf("%d\n",m);}編寫函數(shù)求數(shù)n所有質因子(所有為素數(shù)的因子)并輸出,n由主函數(shù)輸入。#include<>#include<>intprime(intm){intj;if(m==1)return0;elseif(m==2)return1;elseif(m%2==0)return0;elsefor(j=3;j<=sqrt(m);j+=2)if(m%j==0)return0;return1;}voidmain(){inti,n,flag;scanf("%d",&n);for(i=1;i<=n;i++){if(n%i==0)flag=prime(i);elseflag=0;if(flag==1)printf("%d\n",i);}}4.哥德巴赫猜想之一是,任何一個大于5的偶數(shù)都可以表示為兩個素數(shù)之和。編寫程序驗證這一論斷。#include<>intprime(intm){intj;if(m==1)return0;elseif(m==2)return1;elseif(m%2==0)return0;elsefor(j=3;j<=sqrt(m);j+=2)if(m%j==0)return0;return1;}main(){inta,b,c,n;scanf("%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+%d\n",a,b,c);break;}}}二維數(shù)組score中存放5個學生的3門課成績,由主函數(shù)輸入一個數(shù),將所有總成績大于該數(shù)的學生輸出。#include<>voidmax(floata[5][3],floatscore){inti,j;floats;for(i=0;i<5;i++){s=0;for(j=0;j<3;j++)s=s+a[i][j];if(s>score)printf("stu%d:%.2f\n",i+1,s);} }voidmain(){inti,j;floata[5][3];floatscore;printf("pleaseinputnumber:\n");for(i=0;i<5;i++){ printf("stu%d:",i+1);for(j=0;j<3;j++)scanf("%f",&a[i][j]);printf("\n");}printf("pleaseinputscore:");scanf("%f",&score);max(a,score);}實驗七參考答案1.用指針變量輸出任意4*4矩陣各元素的值(1)#include""voidmain(){inti,a[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};int*p=a;for(i=0;i<4*4;i++){ printf("%3d",*(p+i)); if((i+1)%4==0) printf("\n");}}(2)#include""voidmain(){inta[4][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}};int(*p)[4]=a;inti,j;for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%3d",*(*(p+i)+j));printf("\n");}printf("\n");}2.有一個整型二維數(shù)組a[m][n],找出最大值所在的行和列,以及該最大值#include""voidmain(){inta[4][4]={{1,34,35,26},{7,12,92,24},{55,33,53,6},{7,41,34,64}};int(*p)[4]=a;inti,j,x,y,max;max=a[0][0];for(i=0;i<4;i++){ for(j=0;j<4;j++) { printf("%3d",*(*(p+i)+j));if(max<*(*(p+i)+j)){max=*(*(p+i)+j);x=i;y=j;} }printf("\n");}printf("\nmax=%d\nx=%d\ny=%d\n",max,x,y);}3.從鍵盤輸入一字符串,求此字符串的長度并輸出#include<>intstr_len(char*p){intn=0;while(*p!='\0'){n++;p++;}returnn;}intmain(){chara[100];intn;printf("Inputastring:\n");gets(a);n=str_len(a);printf("Thelenth:%d\n",n);}4.將字符串str中的小寫字母全部改為大寫字母,并輸出該字符串#include""voidfun(char*p){inti;for(i=0;*(p+i)!='\0';i++)if(*(p+i)>='a'&&*(p+i)<='z')*(p+i)=*(p+i)-32;}voidmain(){charstr[50];char*p=NULL;printf("Pleaseinputstring:\n");gets(str);p=str;fun(p);puts(str);}實驗八參考答案1.編寫程序:定義一個職工結構體類型,定義職工結構體變量,從鍵盤輸入一名職工信息,然后輸出。(假設職工信息包括:姓名、身份證號、工齡、工資)#include<>structemployee{charname

溫馨提示

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

評論

0/150

提交評論