C語言練習題1(分支、循環)1v1_第1頁
C語言練習題1(分支、循環)1v1_第2頁
C語言練習題1(分支、循環)1v1_第3頁
C語言練習題1(分支、循環)1v1_第4頁
已閱讀5頁,還剩106頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

C語言練習題1(分支、循環)編輯:高山流水審核:高山流水校對:高山流水選擇題(例).有如下程序main()(floatx=2.0,y;if(xく0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printf("研、n",y);}該程序的輸出結果是AA、〇.500000B、〇.250000CJ.000000D、〇.000000.C語言的if語句中,用作判斷的表達式為CA、關系表達式B、邏輯表達式C、任意表達式D、算術表達式.假定所有變量均已正確定義,下列程序段運行后x的值是().Dkl=l;k2=2;k3=3;x=15;if(!kl)x--;elseif(k2)x=4;elsex=3;A、15B、14C、3D、4選擇題(79道).C語言中的switch語句中case后DA、可為任何量或表達式B、只能為常量或常量表達式C、可為常量或表達式或有確定值的變量及表達式D、只能為常量.執行下列語句后的輸出為().Cintj=-l;if(j<=l)printfC****\nO;else printf("蝦%%'n');A、****cB、有錯,執行不正確C、****D、%%%%.有以下程序main()(inti=l,j=l,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n”,i,j,k);}執行后輸出結果是AA,2,2,2B、2,2,3C,1,1,2D、2,2,1.判斷char型變量c是否為大寫字母的C的表達式是CA/A1<=c<=,Z'B、('AY=c)AND('ZY=c)C、(c>='A')&&(c<='Z')D、(c>='A')&(cくニ'Z').有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printf("%f\n",y);)該程序的輸出結果是AA、〇.500000B、〇.250000CJ.000000D.O.000000.C語言的if語句中,用作判斷的表達式為CA、關系表達式B、邏輯表達式C、任意表達式D、算術表達式.假定所有變量均己正確定義,下列程序段運行后x的值是().Dkl=l;k2=2;k3=3;x=15;if(!kl)x-;elseif(k2)x=4;elsex=3;A、15B、14C、3D、4.C語言的if語句嵌套時,if與else的配對關系是()<A、每個else與if的配對是任意的B、每個else與if總是與最外層的if配對C、每個else總是與它上面的最近的if配対D、每個else總是與它上面的if配對.為了避免在嵌套的條件語句if-else中產生二義性,c語言規定:else語句總是與(B)配對.A、其之后最近的ifB、其之前最近的ifC、縮排位置相同的ifD、同一行上的If.以下程序的運行結果是Bmain()(inta=2,b=T,c=2;if(a<b)if(b<0)c=0;elsec+=l;printf(線d\n”,c);)A、〇B、2C、1D、3.為表示關系x2y2z,應使用的表達式是AA.(x>=y)&&(y>=z)B、(x>二y〉二z)C、(x>=y)AND(y>=z)D、(x>=y)&(y>=z).若執行以下程序時從程盤上輸入3和4,則輸出結果是Bmain()(inta,b,s;scanf("%d%d”,&a,&b);s=a;if(a<b)s=b;s*=s;printf("%d\n",s);}A、14BJ6C、20D、18.inta=l,b=2,c=3;if(a>c)b=a;a二c;c=b;則c的值為().BA、3B、2C、不一定D、1.在C語言中,if語句后的ー對圓括號中,用以決定分支的流程的表達式O.DA、只能用關系表達式B、只能用邏輯表達式C、只能用邏輯表達式或關系表達式D、可用任意表達式.假定所有變量均已正確定義,下面語句段執行后的x的值是Ba=b=czz0;x=35;if(!a)x—;elseif(b);if(c)x=3;elsex=4;A、34B、4C、35D、3

intx=l,a=0,b=0;switch(x)casecasecase0:b++;casecasecase0:b++;1:a++;2:a++;b++;}printf(*a=%d,b=%d",a,b);該程序的輸出結果是()BA、2,2B、2,1C,1,1D、l,0注:準確的說輸出結果應為a=2,b=l.下面的程序片斷所表示的數學函數關系是Ay=-l;if(x!=O)y=l;if(x>O)y=l;elsey=0;A、0(x<00a=の1U>Q)B、C、D、注:前兩行完全可以忽略.為了避免在嵌套的條件語句if-else中產生二義性;C語言規定else總與()配對CA.同一行上的ifB、其之后最近的ifC、其之前最近的未配對的ifD、縮排位置相同的if.C語言中switch后的括號內表達式的值可以是CA、只能為整型和字符型B、只能為整型C、任何類型D、只能為整型,字符型,枚舉型.下列程序的輸出結果是().Amain(){intx=l,y=0,a=0,b=0;switch(x)(case1:switch(y)|case0:a++;break;case1:b++;break;)case2:a++;b++;break;case3:a++;b++;break;)printf("a=%d,b=%d\n”,a,b);)A、a=2,b=lB、a=l,b=0C、a=2,b-2D、a=Lb=l.有如下程序main()intx=l,a=0,b=0;switch(x)case〇:b++;case1:a++;case2:a++;b++;}printf("a二%d,b二%d\n”,a,b);)該程序的輸出結果是BAxa=l,b=lB、a二2,b=lC、a=l,b=OD、a二2,b二2.下列程序的輸出結果是().Amain()(intx=l,y二〇,a二〇,b=O;switch(x){case1:switch(y)(caseO:a++;break;case1:b++;break;)case2:a++;b++;break;case3:a++;b++;break;}printf("a二%d,b二%d\n”,a,b);}A、a二2,b=lB、a=2,b=2C.a=l,bニ。D、a=l,b=l.下列運算符中優先級別最高的是AAJB,%C、ー=D、&&.有以下程序main()inta=5,b=4,c=3,d=2;if(a>b>c)printf(*%d\n*,d);elseif((c-l>=d)=l)printf("%d\n”,d+1);elseprintf("%d\n”,d+2);}執行后輸出結果是DA、2B、4C、編譯時出錯D、3.inta=3,b=2,c=l;if(a>b>c)a=b;elsea=c;則a的值是()CA、2B、3C、1D、〇.運行以下程序后,輸出的結果是Bmain()(intk=-3;if(k<=0)printf("****\n"),elseprintf("&&&&\n");}A、****B、有語法錯誤不能通過編譯C、&&&&D、****&&&&.設a、b和c都是int型變量,且a=3,b=4,c=5;則以下的表達式中,值為〇的表達式是CA、a||b+c&&b-cB.a<=bCJ((a<b)&&!ci11)D、a&&b.以下不正確的if語句形式是O.DA、if(xくy){x++;y++;}B、if(x>y&&x!=y);CNif(x==y)x+=y;D、if(x!=y)scanf(*%d*,&x)elsescanf(飛d",&y);注:D中第一個scanf函數缺少分號.inta=l,b=2,c=3;if(a>b)a=b;if(a>c)a=c;則a的值為().AA、1B、不一定C、3D、2.下列運算符中優先級別最低的運算符是CA、+BJ=C,llD、<=.以下程序的輸出結果是Dmain(){inty=10;for(;y>0;y—)if(y%3=0)(printf -y);continue;)}A、741B、963C.875421D、852.C語言中while和do-while循環的主要區別是()BA、while循環控制條件比do-while的循環控制條件更嚴格B、do-while循環體至少無條件執行一次C、do-while的循環體不能是復合語句D、do-while允許從外部跳轉到循環體內.下列程序的輸出為().Cmain()(inty=10;while(y一);printf("y=%d\n〃,y);}A、while構成無限循環B、y=0C、y=-1D、y=l注:yー后面有個分號.以下描述正確的是().1)A、do-while循環中,根據情況可以省略whileB、由于do-while循環中循環體語句只能是一條可執行語句,所以循環體內不能使用復合語句C,do-while循環由do開始,用while結束,在while(表達式)后面不能寫分號D、在do-while循環體中,一定要有能使while后面表達式的值變為零("假")的操作.以下程序段的輸出結果是Cinti,j,m二〇;for(i=l;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n',m);A、15B、12C、20D、25.以下程序段的輸出結果為(A)。for(i=4;i>l;i--)for(j=l;j<i;j++)putchar('#');A、######B、無c、#D、###.從循環體內某ー層跳出繼續執行循環外的語句是AA、break語句B、return語句Cxcontinue語句D、空語句.在以下給出的表達式中,與do—while(E)語句中的(E)不等價的表達式是().A表達式是().A、(Eニニ0)B、(E>0||Eく0)C、(!Eニニ0)D、(E!=0).下面程序的功能是把316表示為兩個加數的和,使兩個加數分別能被13和H整除,請選擇填空.C#include<stdio.h>main()(inti=O,j,k;do{i++,k=316-13*i;}while();j=k/ll;printf("316=13雜d+ll*%d”,i,j);)A、k%l1==OB,k/llC、k%llD、k/ll==O.以下程序的執行結果是Cmain()(intx=0,s=0;while(!x!=O)s+=++x;printf(線d”,s);)A、無限循環B、。C、1D、語法錯誤.設j和k都是int類型,則for循環語句for(j=0,k=-l;k=l;j++,k++)printf("****\n");().BA、循環體ー次也不執行B、是無限循環C、循環結朿的條件不合法D、循環體只執行ー次.選擇結構中的條件與循環結構中循環成立的條件,在寫法上可以是任一表達式,其值只能被判斷為“真"或"假"。哪個數作為邏輯“假”值0.DA、ーlB、非零的數CJD、0.以下不是無限循環語句為()CA、for(;;x++=i);B、while(D{x++;}C、for(y=0,x=l;x>++y;x=x++)i=x;D、for(i=10;;i-)sum+=i;.在C語言中,為了結束由while語句構成的循環,while后ー對圓括號中表達式的值應該為0.BAJB、0C、TrueD、非〇.結構化程序設計所規定的三種基本控制結構是().DA、樹形、網形、環形B、輸入、處理、輸出C,主程序、子程序,函數D、順序、選擇、循環.有以下程序段intn=O,p;do(scanf&p);n++;}while(p!=1234544n<3);此處do-while循環的結束條件是.DA、p的值等于!2345并且n的值大于等于3B、p的值不等于12345并且n的值小于3C、p的值不等于12345或者n的值小于3D、p的值等于12345或者n的值大于等于3.以下for循環的執行次數是for(x=0,y=0;(y=123)&&(x<4);x++);().AA、4次B、是無限循環c、3次D、循環次數不定注:4次。y是賦值,每次判斷都為真,所以y不起作用.以下語句中,循環次數不為10次的語句是().AA、for(i=l;i〈10;i++);B,i=10;while(i>0){—i;}C、i=l;do{i++;}while(i<=10);D,i=l;m:if(i<=10){i++;gotom;}.有以下程序main()(inti;for(i=0;i<3;i++)switch(i)casel:printfi);case2:printf('%d”,i);default:printf(飛d”,i);))執行后輸出結果是AA.011122BJ20C.012020D、012.執行語句for(i=l;i++く4;);后變量i的值是().CA、不定B、3C、4D、5.以下程序的輸出結果是C#include<stdio.h>main()(inti;for(i=l;iく5;i++)(if(i%2)putchar('く');elsecontinue;putchar('>');}putchar('#');)A、??く)#B、XX#C、?く〉#D、〉く〉く〉く#.以下敘述正確的是:CA、用do-while構成循環時,只有在while后的表達式為非零時結朿循環B、do-while語句構成的循環不能用其它語句構成的循環來代替“C、用do-while構成循環時,只有在whileお的表達式為零時結朿循環D.do-while語句構成的循環只能用break語句退出。.以下程序段的輸出結果是Bintk,j,s;for(k=2;k<6;k++,k++){s=l;for(j=k;j<6;j++)s+=j;}printf("%d\n”,s);A、15BJOC、24D、9.C語言程序的三種基本結構是順序結構、選擇結構和 結構DA、遞歸B、轉移C、嵌套D、循環.C語言中用于結構化程序設計的三種基本結構是().BA、for>while^do-whileB、順序結構、選擇結構、循環結構C、if、switch、breakD、if、forxcontinue.以下程序的運行結果是().Bmain(){intn;for(n=l;n<=10;n++)(if(n%3==0)continue;printfn);A、12B、12457810C.1234567890D、369.以下程序段中,能夠正確地執行循環的是O.BA>staticinta;while(a)B、ints=6;dos-=2;while(s);C>for(i=l;i>10;i++)D、ints=6;m:if(s<100)exit(0);elses-=2;gotom;.以下程序的運行結果是().Bmain()(inti=l,sum=0;while(i<10)sum=sum+l;i++;printf("i=%d,sum=%d”,i,sum);}A、i=10,sum=9B、運行出現錯誤C、i=2,sum=lD、i=9,sum=9注:while只包含了sum=sum+1;這條語句.若i為整型變量,則以下循環執行次數是()Afor(i=2;i=0;)printf ;A、0次B、1次C、無限次D、2次.語句while(句);中的表達式!E等價于().BA、E!=1B、E=0C、E=1D、E!=O.設j和k都是int類型,則下面的for循環語句().Cfor(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A、最多執行9次B、循環體ー次也不執行C、最多執行10次D、是無限循環.判新兩個字符串是否相等正確的表達方式是ANwhile(sl=s2)while(sl==s2)CNwhile(strcmp(si,s2)=0)D>while(strcmp(sl,s2)==0).下面有關for循環的正確描述是().DA,for循環是先執行循環循環體語句,后判斷表達式B、在for循環中,不能用break語句跳出循環體C、for循環只能用干循環次數已經確定的情況D,for循環的循環體語句屮,可以包含多條語句,但必須用花括號括起來.以下程序中,while循環的循環次數是ーAmain(){inti=0;while(i<10)(if(i<l)continue;if(i==5) break;i++;)}A、死循環,不能確定次數B、6C、4D、1.以下程序段的輸出結果是Bintx=3;do(printf(袋3d”,x~=2);}while(!(一x));A、死循環B、1-2C,3〇D、1注:第一次執行完printf("%3d",x-=2);后x=l,然后ーx為0,取非后為1,條件為true,繼續執行循環,第二次執行完printf(線3d",x-=2);后x=-2,一x得到ー3,取非后是〇,循環結束.若x是int類型變量,以下程序段的輸出結果是Dfor(x=3;x<6;x++)printf((x%2)?f**%d"):("##%d\n"),x);A、##3**4##5B、##3**4##5B,**3##4**5D、**3##4**5.對for(表達式1;;表達式3)可理解為().AA、for(表達式1;1;表達式3)B、for(表達式1;0;表達式3)C、for(表達式1;表達式1;表達式3)D、for(表達式1;表達式3;表達式3).以下程序段的輸出結果是ーーCmain(){intn=10;while(n>7)printfn);}}A、1098BJ0987C、987D.9876.以下程序的功能是按順序讀入10名學生4門課程的成績,計算出每位學生的平均分并輸出,程序如下:main(){intn,k;floatscore,sum,ave;sum二。.0;for(n=l;n<=10;n++)(for(k=l;k<=4;k++)scanf('%エ,&score);sum+=score;ave=sum/4.0;printf("N0%d:%f\n”,n,ave);)}上述程序運行后結果不正確,調試中發現有一條語句出現在程序中的位置不正確.這條語句是BA>ave=sum/4.0B、sum=0.0;C、sum+=score;D、printf(*N0%d:%f\n*?n,ave);.while(fabs(t)<le-5)if(!s/10)break;循環結束的條件是0.1)A.fabs(t)<le-5&&!s/10Bxfabs(t)<le-5C>t>=le-5&&t<=-le-5&as>-10&&s<10D.s/10==0.以下不是死循環的語句是ー.CA^for(i=10;;i++)sum+=i;B、while⑴{x++};for(;(c=getchar())!=''n';)printf("祝",c);D、for(;;x+=i);.以下敘述正確的是()°BA、do-while語句構成的循環不能用其它語句構成的循環來代替B、用do-while語句構成的循環,在while后的表達式為零時結束循環C、用do-while語句構成的循環,在while后的表達式為非零時結束循環D、do-while語句構成的循環,只能用break語句退出.在下述程序中,判斷i>j共執行了多少次C^include<stdio.h>main()(inti=0,j=10,k=2,s=0;for(;;)(i+=k;if(i>j)printf("%d\n",s);break;s+=i;A、4B、8C、6D,7.C語言中,while和do-while循環的主要區別是BA、while的循環控制條件比do-while的循環控制條件嚴格B、do-while的循環體至少無條件執行?次C,do-while循環體不能是復合語句Dsdo-while允許從外部轉到循環體內.t為int類型,進入下面的循環之前,t的值為0while(t=l)則以下敘述中正確的是..BA、以上說法都不對B,循環捽制表達式的值為1C、循環控制表達式的值為0D、循環控制表達式不合法.下面程序的運行結果是A??include<stdio.h>main()(inty=10;do{y一;}while(一y);printf("%d\n",y—);)A,0B、1C、8D、ー1.以下程序的輸出結果是CmainO{,intx,i;for(i=l;i<=100;i++){x=i;if(x%2==0)if(x%3==0)if(x%7==0)printf(*%d",x);)printf("\n");}A、2870B、3981C、4284D、2668注:本題意圖是遍歷P100內能同時被2、3、7整除的數.以下程序的執行結果是ー _Amain(){intnum=0;while(num<=2)(num++;printf("%d,",num);))A、1,2,3,B、1,2,3,4,C、l,2,D、0,1,2,.以下程序的輸出結果是Bmain(){inti,sum;for(i=l;i<6;i++)sum+=i;printf("%d\n",sum);}A、15B、不確定C、16D.O判斷題(6道).C語言的switch語句case后可為常量或表達式或有確定值的變量及表達式?X.inti=20;switch(i/10){case2:printf("A");casel:printf("B");}的輸出結果為A.X注:輸出結果是AB.若有inti=10,ア〇;則執行完語句if(j=O)i++;elsei—;i的值為ILX注:i的值為9,因為j=O是賦值,表達式的值是〇.若有說明intc;則while(c二getcharO);是正確的C語句,V.while和do-while循環不論什么條件下它們的結果都是相同的0X.循環結構中的continue語句是使整個循環終止執行.X填空題(24道).若從鍵盤輸入58,則以下程序輸出的結果是ー.585858main(){inta;scanf("%d",&a);if(a>50)printf("%d”,a);if(a>40)printf("刎",a);if(a>30)printf("%d",a);}.若變量已正確定義,以下語句段的輸出結果是__.*#intx,y,z;x=0;y=2;z=3;switch(x)(case0:switch(y==2){case1:printf("*');break;case2:printf("%");break;}case1:switch(z){case1:printf("$");case2:printf("*");break;default:printf("#");3,將下列數學式改寫成C語言的關系表達式或邏輯表達式是A)B).A)aニニbIIaくcB)x>41|x<-4A)a=b或a<cB)Ix|>4.C語言中用ー表示邏輯真,用—表示邏輯假.10.請寫出以下程序的輸出結果_—.1main(){inta=100;if(a>100)printf("%d\n”,a>100);elseprintf("%d\n",a<=100);.以下程序的執行結果是.9main()(intk=8;switch(k){k+=l;k+=l;k+=l;break;default:k+=l;)printf("%d\n",k);}.閱讀下面程序,程序執行后的輸出結果是ー.3#include"stdio.h"main(){intx,y,z;x=l;y=2;z=3;if(x>y)if(x>z)printfC%d*,x);elseprintf(級d”,y);printf(*%d\n*?z);.根據C語言運算符的優先順序和結合性,按從先到后的順序寫出以下表達式中,運算符"、ケ、?、〃和"/"的先后順序: ヽヽ ヽヽヽ ヽヽ+、/、!、?、>、!ユ、&&、!(a+b)>c*2&&b!=5||!(1/2).若表達式(a+b)>c*2&&b!=5|1!(1/2)中,a、b、c的定義和賦值為inta=3,b=4,c=2;則表達式的值為.1.以下程序的輸出結果是ー.コmain()(intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!okl)x=l;elseif(ok2)x=10;elsex=-l;printf("%d'n”,x);}IL請寫出與以下表達式等價的表達式是A)B),A)xく=0B)_lA)!(x>0)B)!0.當a=l、b=2、c=3時,以下if語句執行后,a、b、c中的值分別為:ヽヽ3ヽ2、2if(a>c)b=a;a=c;c=b;.將上題中的雙分支if語句改寫成條件表達式語句:printf("刎ヰ”,a〉l()0?l:〇)#include"stdio.h"main()(inta=100;if(a>100)printf("%d\n”,a>100);elseprintfaく二10〇);).以下程序的功能是:從鍵盤上輸入若干學生的成績,統計并輸出最高成績和最低成績,當輸入為負數時結束輸入。請填空。x>=Oxくaminmain()(floatx,amax,amin;scanf&x);amax=x,amin二x;while()if(x>amax)amax=x;if()amin=x;scanf("%f",&x);)printf("\namax=%f\namin=%f\n",amax,amin);}.以下程序的輸出結果是ーmain()(intx=2;while(x一);printf("%d\n",x);).以下程序段的輸出結果是.11inti=O,sum=l;do(sum+=i++;}whiledく5);printf(*%d\n",sum);17I冒泡排序算法在最好的情況下的元素交換次數為,丄次(即已有順序,不用交換).以下程序段的輸,屮結果是.死循環intk,n,m;n=10;m=l;k=l;while(k<=n)m*=2;printf("%d\n",m);.閱讀下面程序,程序執行后的輸出結果為ー.0918273645#include“stdio.h"main()(chara,b;for(a='0',b='9';a<b;a++,b--)printf("%c%c",a,b);printf("\n");.有以下程序段:s=l.0;for(k=l;k<=n;k++)s=s+l.0/(k*(k+l));printfs);請填空,使下面的程序段的功能完全與之等同.靖lk++kくns二〇.0;k二〇;do(s+=d;d=1.0/(k*(k+l));}while();printf("%f\n",s);.閱讀下面程序,則執行后程序的結果為25,16^include“stdio.h"mainO(inta=0,b=0;while(a<15)a++;while(b++<15);printf(^%d,%d\n”,a,b);).下列程序的功能是輸入ー個整數,判斷其是否是素數,若為素數輸出I,否則輸出。,請填空.xT(x編二0)main()(inti,x,y=l;scanf("%d",&x);for(i=2;i<=;i++){if{y=0;break;})printf(飛d\n”,y);.執行以下程序后的輸出結果是ー.i=5門=4,k=6main()inta,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=0;for(;a>b;++b)i++;while(a>++c)j++;dok++;while(a>d++);printf(*i=%d,j=%d,k=%d\n”,i,j,k);).若依次輸入字符AB.在以下while語句執行后ch的值是.0while(ch=getchar()=="A');注:因為關系運算符的優先級大于賦值運算符,第一遍:先運算getchar()=='A’。又因為輸入A,顯然其結果為1.再將1賦值給ch,所以ch的值應該是1;第二遍:先運算getchar()=="'。又因為輸入B,顯然其結果為〇.再將〇賦值給ch,所以ch的值應該是〇;第三遍:先運算getchar()-A\又因為輸入回車,顯然其結果為0.再將〇賦值給ch,所以ch的值應該是0.程序設計題(56道)/* 【程序設計】功能:編寫函數fun計算下列分段函數的值:x~2+x+6 x<0且x*3f(x)=x*2-5x+6 〇〈x<10且xW2及x#3x"2-x-l 其它 */#include<stdio.h>voidbky();floatfun(floatx)/**********Begin**********//**********End**********/main()(floatx,f;printf("inputx=");scanf&x);f=fun(x);printf("x=%f,f(x)=%f\n*,x,f);bky();voidbky()(FILE*IN,*OUT;intn:floati;floato;IN=fopen("in.dat","r");if(IN-NULL)(printf("ReadFILEError");)OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");}for(n=0;n<10;n++)(fscanf(IN,"%f",&i);〇=fun(i);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:從鍵盤上輸入任意實數X,求出其所對應的函數值。z=(x-4)的二次嘉(x>4)z=x的八次慕(X〉-4)z=z=4/(x*(x+l))(x>-10)z=|x|+20(其他) */#include<math.h>#include<stdio.h>voidbky();floaty(floatx)(/**********Begin**********//**********End**********/}main(){floatx;scanf&x);printf(*y=%f\n*,y(x));bky();voidbky()(FILE*IN,*0UT;intn;floati;floato;IN=fopen("in.dat","r");if(IN==NULL)printf("ReadFILEError");OUT=fopen("out.dat","w");if(OUTニニNULL)(printf("WriteFILEError");}for(n=0;n<10;n++){fscanf(IN,"%f",&i);o=y(i);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:編寫函數判斷一個整數能否同時被3和5整除,若能則返回值為L否則為〇。調用該函數求出15?300之間能同時被3和5整除的數的個數。 */#include<stdio.h>voidbky();intsum(intn){/**********Begin**********//**********End**********/)main()(inti,s二。;for(i=15;i<=300;i++)if(sum(i)=l)s二s+1;printf("s二%d\n',s);bky();voidbky(){FILE*IN,*OUT;intn;inti[12];into;IN=fopen("in.dat,r");if(IN==NULL){printflReadFILEError");)OUT=fopen("out.dat","w");if(OUTニニNULL)(printf("WriteFILEError");}for(n二〇;nく5;n++)(fscanf(IN,"%d",&i[n]);}for(n二〇;nく5;n++){o=sum(i[n]);fprintf(OUT,"%d\n',o);)fclose(IN);fclose(OUT);/* 【程序設計】功能:從鍵盤上輸入任意實數,求出其所對應的函數值。z=e的x次基(x>10)z=log(x+3)(x>-3)z=sin(x)/((cos(x)+4)*/#include<math.h>#include<stdio.h>voidbky();doubley(floatx){/**********Begin**********//**********End**********/}main(){floatx;scanf("%f",&x);printf(*y=%f\n\y(x));bky();}voidbky()(FILE*IN,*OUT;intn;floati;doubleo;IN=fopen("in.dat","r");if(IN==NULL)(printflReadFILEError");}OUT=fopen("out.dat","w");if(OUTニニNULL)(printf("WriteFILEError");)for(n二〇;nく10;n++){fscanf(IN,"%f",&i);o=y(i);fprintf(OUT,"%ld\n”,o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:判斷整數x是否是同構數。若是同構數,函數返回1;否則返回。。x的值由主函數從鍵盤讀入,要求不大于!00?說明:所謂“同構數”是指這樣的數,這個數出現在它的平方數的右邊。例如:輸入整數5,5的平方數是25,5是25中右側的數,所以5是同構數。 */#include<stdio.h>voidbky();intfun(intx)(/**********Begin**********//**********End**********/}main()(intx,y;printf("\nPleaseenteraintegernumbers:;scanf("%d",&x);if(x>100)(printf("dataerror!\n");exit(0);y=fun(x);if(y)printf(*%dYES\n",x);elseprintf(*%dNO\n",x);bky();voidbky()(FILE*IN,*0UT;intn,t;into;IN=fopen("in.dat","r");if(IN==NULL)(printf("ReadFILEError");}0UT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");)for(t=0;t<5;t++)(fscanf(IN,"%d",&n);o=fun(n);fprintf(OUT,"%d\n",o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:調用函數fun判斷ー個三位數是否"水仙花數"。在main函數中從鍵盤輸入?個三位數,并輸出判斷結果。請編寫fun函數。說明:所謂"水仙花數”是指」3位數,其各位數字立方和等于該數本身。例如:153是?個水仙花數,因為153=1+125+27。 */^include<stdio.h>voidbky();intfun(intn)(/**********Begin**********//**********End**********/main(){intn,flag;scanf(々%d",&n);flag=fun(n);if(flag)printff%d是水仙花數、n〃,n);elseprintf("%d不是水仙花數、n”,n);wwjt();)voidbky()(FILE*IN,*OUT;intilN,i;intiOUT;IN=fopen("in.dat,r");if(IN==NULL)(printf(PleaseVerifyTheCurrerntDir..itMayBeChanged*);)OUT二fopen("out.dat","w");if(OUTニニNULL)printf("PleaseVerifyTheCurrentDir..itMayBeChanged");for(i=0;i<10;i++)(fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT):)fclose(IN);fclose(OUT);/*—【程序設計】功能:對任意輸入的x,用下式計算并輸出y的值。TOC\o"1-5"\h\z-1 x<0y= 0 x=01 x>0#include<stdio.h>voidbky();intfun(intn)/**********Begin**********//**********End**********/voidmain()intx,y;printf("enterx:");scanf("%d",&x);y=fun(x);printf(*x=%d,y=%d\n*?x,y);bky();voidbky()(FILE*IN,*OUT;inti;intilN;longintiOUT;IN=fopen("in.dat","r");if(IN==NULL)(printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");)OUT-fopen("out.dat","w");if(OUT==NULL)(printf("PleaseVerifyTheCurrentDir..itMayBeChanged");)for(i=0;i<5;i++)(fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%ld\n",iOUT);)fclose(IN);fclose(OUT);/* 【程序設計】功能:對某一正數的值保留2位小數,并對第三位進行四舍五入。??include<stdio.h>#include"conio.h"voidbky();doublefun(floath)(/**********Begin**********//**********End**********/main()(floatm;printf("Enterm:");scanf("%f",&m);printf("\nTheresultis%8.2f\n",fun(m));bky();voidbky()(FILE*IN,*0UT;ints;floatt;doubleo;IN=fopen("in.dat","r");if(IN:NULL){printfCReadFILEError");)OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");}for(s=l;s<=5;s++)(fscanf(IN,"%f",&t);o=fun(t);fprintf(OUT,〃%8.2f\n",o);fclose(IN);fclose(OUT);/* 【程序設計】功能:對任意輸入的x,用下式計算并輸出y的值。TOC\o"1-5"\h\z5 x<10y=0 x=10-5 x>10- */#include<stdio.h>voidVV();intfun(intn)/**********Begin**********//**********End***********/voidmain()(intx,y;printf("enterx:");scanf&x);y=fun(x);printf("x=%d,y=%d\n”,x,y);VV();voidW()FILE*IN,*OUT;inti;intilN;longintiOUT;IN=fopen("in.dat","r");if(IN==NULL)(printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}0UT=fopen("out.dat","w");if(OUT==NULL)(printf("PleaseVerifyTheCurrentDir..itMayBeChanged");)for(i=0;i<5;i++)(fscanf(IN,"%d",&iIN):iOUT=fun(iIN);fprintf(OUT,"%ld\n",iOUT);)fclose(IN);fclose(OUT);/? 請編寫函數fun,其功能是:計算并輸出下列多項式的值:111S=1+ + +…+ 1*2 1*2*3 1*2*3*-50例如,在主函數中從鍵盤給n輸入50后,輸出為:s=l.718282。注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<stdio.h>doublefun(intn)/**********Begin**********//**********End***********/main(){intn;doubles;voidN0N0();printf(*\nlnputn:");scanf("%d",&n);s=fun(n);printf('\n\ns二%f\n\n",s);N0N0();voidNONO(){/?請在此函數內打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/FILE*rf,*wf;intn,i;doubles;rf=fopen("in.daJ,"r");wf=fopen("out?dat","w");for(i=0;i<10;i++){fscanf(rf,"%d",&n);s=fun(n);fprintf(wf,"%lf\n”,s);fclose(rf);fclose(wf);11./* 【程序設計】功能:從低位開始取出長整型變量s奇數位上的數,依次構成?個新數放在t中。例如:當s中的數為:7654321時,t中的數為:7531。 */#include<stdio.h>voidbky();longfun(longs,longt)/**********Begin**********//**********End**********/returnt;}main()(longs,t=0,m;printf(*\nPleaseenters:");scanf("%ld",&s);m=fun(s,t);printf(*Theresultis:%ld\n”,m);bky();}voidbky()(FILE*IN,*OUT;intn;longi,t=0,m;IN=fopen("in.dat〃,"r");if(IN==NULL){printf〈'ReadFILEError");}OUT=fopen("out.dat","w");if(OUTニニNULL)(printf("WriteFILEError");)for(n=0;n<5;n++)(fscanf(IN,"%ld",&i);m=fun(i,t);fprintf(OUT,"%ld\n",m);}fclose(IN);fclose(OUT);/?編寫函數fun,它的功能是:計算正整數n的所有因子(1和n除外)之和作為函數值返回。例如:n=120時,函數值為239。注意:部分源程序存在文件prog,c中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<conio.h>#include<stdio.h>#include<windows.h>intfun(intn)/**********Begin**********//**********End***********/N0N0(){/?請在此函數內打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/FILE*wf;wf=fopen("a30?out","w");fprintf(wf,"%d\n",fun(120));fclose(wf);main() /?主函數?/{ system("cls");printf("%d\n,z,fun(120));NONO();/* 【程序設計】功能:編寫函數求1~100中奇數的平方和。結果為166650.000000〇 */#include<stdio.h>voidbky();floatsum(intn)(/**********Begin**********//**********End**********/main()(printf("sum二%f\n”,sum(100));bky();voidbky(){FILE*IN,*OUT;inti;floato;IN=fopen("in.dat","r");if(IN==NULL)(printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUTニニNULL)printf("WriteFILEError");for(j=0;j<5;j++)(fscanf(IN,*%d*,&i);o=sum(i);fprintf(OUT,o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:若x、y為奇數,求x到y之間的奇數和;若x、y為偶數,則求x到y之間的偶數和。 */ftinclude<stdio.h>voidbky();intfun(intx,inty)(/**********Begin**********//**********End**********/main(){ints;s=fun(l,1999)-fun(2,1998);printf("s二%d\n”,s);bky();FILE*IN,*OUT;intn;inti[2];into;IN=fopen("in.dat,r");if(IN==NULL)(printf("ReadFILEError");}0UT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");)for(n=0;n<2;n++)(fscanf(IN,"%d",&i[n]);}o=fun(i[0],i[l]);fprintf(OUT,"%d\n",o);fclose(IN);fclose(OUT);/* 【程序設計】功能:編寫函數fun其功能是:根據整型形參m,計算如下公式的值:y=I+I/3+I/5+I/7+…+I/(2m+I)例如:若m=9,則應輸出:2.133256 */^include<stdio.h>voidbky();doublefun(intm)/**********Begin**********//**********End**********/main()(intn;printf(*Entern:〃);scanf&n);printf(*\nTheresultis%lf\n,z,fun(n));bky();}voidbky()(FILE*IN,*OUT;ints,i;intt;floato;IN二fopen("in.dat*,'r");if(IN==NULL)(printfCReadFILEError");}OUT-fopen("out.dat","w");if(OUT-NULL)(printf("WriteFILEError");}for(i=0;i<5;i++)(fscanf(IN,"%d",&t);〇=fun(t);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);/?編寫函數fun,它的功能是:求Fibonacci數列中大于s的最小的ー個數,結果由函數返回。其中Fibonacci數列F(n)的定義為:F(0)=0,F(l)=lF(n)=F(n-l)+F(n-2)例如:當s=1000時,函數值為:1597。注意:部分源程序存在文件prog,c中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<conio.h>#include<math.h>#include<stdio.h>#inc1ude<windows.h>intfun(ints)|/**********Begin**********//**********End***********/voidNONO(){/?本函數用于打開文件,輸入數據,調用函數,輸出數據,關閉文件。*/FILE*fp,*wf;inti,n,s;fp=fopen("bc06?in","r");if(fp=NULL){printf("數據文件bc06.in不存在!");}wf=fopen(z,bc06.out","w");for(i=0;i<10;i++){fscanf(fp,"%d",&n);s=fun(n);fprintf(wf,"%d\n",s);}fclose(fp);fclose(wf);}main() /?主函數?/{intn;system("cls");n=1000;printf(*n=%d,f二%d\n”,n,fun(n));NONO();/*—【程序設計】功能:求?個四位數的各位數字的立方和#include<stdio.h>voidVV();intfun(intn)/**********Begin**********//**********End***********/main()(intk;k=fun(1234);printf("k二%d\n”,k);VV();voidVV()FILE*IN,*OUT;intilN,iOUT,i;IN二fopen("22.IN","r");if(IN==NULL)(printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}0UT=fopen("22.out","w");if(OUT==NULL)(printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<10;i++)(fscanf(IN,"%d",&i!N);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);)fclose(IN);fclose(OUT);/* 【程序設計】功能:能計算從1開始到n的自然數的和,n由鍵盤輸入,并在main。函數中輸出。#include<stdio.h>voidbky();intfun(intn)/**********Begin**********//**********End**********/main()intm;printf(*Enterm:");scanf("知",&m);printf("\nTheresultis%d\n",fun(m));bky();)voidbky()(FILE*IN,*OUT;intt;into;intc;IN=fopen("in.dat","r");if(IN==NULL)(printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");)for(c=l;c<=5;c++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%d\n",o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:用do-while語句求1?100的累計和。 */#include<stdio.h>voidW();longintfun(intn)/**********Begin**********//**********End***********/voidmain()(inti=100;printfC"l"100的累加和為:%ld\n”,fun(i));VV();voidVV(){,FILE*IN,*OUT;inti;intilN;longintiOUT;IN=fopen("in.dat","r");if(IN==NULL)(printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");)OUT-fopen(*out.dat","w");if(OUT-NULL)(printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<5;i++)(fscanf(IN,"%d",&iIN);iOUT-fun(ilN);fprintf(OUT,"%ld\n",iOUT);fclose(IN);fclose(OUT);/? 請編寫函數fun,其功能是:計算并輸出下列多項式的值:S=1+1/1!+1/2!+1/3!+1/4!+...+1/n!例如,在主函數中從鍵盤給n輸入15,則輸出為:s=2.718282。注意:要求n的值大于1但不大于100。部分源程序在文件prog,c中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<stdio.h>doublefun(intn)(/**********Begin**********//**********End***********/}NONO(){/?請在此函數內打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/FILE*rf,*wf:intn,i;doubles;ri=Iopen(be.in,r);wf=fopen("bc.out","w");for(i=0;i<10;i++){fscanf(rf,"%d",&n);s=fun(n);fprintf(wf,"%lf\n",s);)fclose(rf);fclose(wf);)main(){intn;doubles;printf("Inputn:");scanf("%d",&n);s=fun(n);printf("s二%f\n",s);N0N00;【程序設計】功能:用函數求Fibonacci數列前n項的和。說明:Fibonacci數列為數列的第一項值為1,第二項值也為!I從第三項開始,每ー項均為其前面相鄰兩項的和。例如:當n=28時,運行結果:832039ftinclude<stdio.h>voidbky();longsum(longfl,longf2)(/**********Begin**********//**********End**********/}main(){longintfl=l,f2=l;printf("sum二%ld\n〃,sum(f1,f2));bky();}voidbky(){FILE*IN,*0UT;intn;inti[2];longinto;IN=fopen("in.dat,"r");if(IN==NULL)printf(""ReadFILEError");}OUT=fopen("out.dat","w");if(OUTニニNULL)(printf("WriteFILEError");for(n=0;n<2;n++)fscanf(IN,"%dz/,&i[n]);〇=sum(i[0],i[l]);fprintf(OUT,"%ld\nzz,o);fclose(IN);fclose(OUT);/* 【程序設計】功能:編寫函數fun,求任ー-整數m的n次方。 */#include<stdio.h>voidbky();longfun(intm,intn){/**********Begin**********//**********End**********/main()intm,n;longs;longfun(int,int):printf("輸入m和n的值:*);scanf("%d,%d",&m,&n);s=fun(m,n);printf("s=%ld\n”,s);bky();}voidbky()(FILE*1N,*OUT;intn;inti[2];longo;IN=fopen("in.dat","r");if(IN二NULL)(printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");)for(n=0;n<2;n++)(fscanf(IN,"%d",&i[n]);}o=fun(i[0],i[l]);fprintf(OUT,"%ld\n",o);fclose(IN);fclose(OUT):/?編寫函數fun,它的功能是計算下列級數和,和值由函數值返回。s=I+x+x'2/2!+x3/3!+…+x*n/n!例如,當n=10,x=0.3時,函數值為1.349859。注意:部分源程序存在文件prog,c中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<conio.h>^include<stdio.h>#include<windows.h>#include<math.h>doublefun(doublex,intn)(/**********Begin**********//********** End***********/N0N0(){/?請在此函數內打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/FILE*wf;wf=fopen("a32?out","w");fprintf(wf,"%f\n",fun(0.3,10));fclose(wf);main(){system("cls*);printf("%f\n",fun(0.3,10));N0N0();/* 請編寫函數fun,其功能是:計算并輸出3到n之間所有素數的平方根之和。例如,在主函數中從鍵盤給n輸入100后,輸出為:sum=148.874270c注意:要求n的值大于2但不大于100。部分源程序在文件prog.c中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include<math.h>#include<stdio.h>doublefun(intn)(/**********Begin**********//**********End***********/}N0N0(){/?請在此函數內打開文件,輸入測試數據,調用fun函數,輸出數據,關閉文件。*/FILE*rf,*wf;intn,i;doubles;ri=Iopen(be.in,r);wf=fopen("bc?ouJ,"w");for(i=0;i<10;i++){fscanf(rf,"%d",&n);s=fun(n);fprintf(wf,"%lf\n”,s);}fclose(rf);fclose(wf);}main(){intn;doublesum;printf('\n\nlnputn:");scanf("%d",&n);sum=fun(n);printf("ヽn\nsum=%f\n\n",sum);N0N0();/* 【程序設計】功能:找出ー個大于給定整數且緊隨這個整數的素數,并作為函數值返回。 */#include<stdio.h>#includeconio.hvoidbky();intfun(intn)(/**********Begin**********//**********End**********/main()(intm;printf("Enterm:");scanf("%d",&m);fun(m));printf("\nTheresultis%d\n",bky();fun(m));}voidbky()(FILE*IN,*OUT;ints;intt;into;IN二fopen("in.dat","r");if(IN==NULL)(printf("ReadFILEError");}0UT=fopen("out.dat","w");if(OUT==NULL)(printf("WriteFILEError");)for(s=l;s〈=5;s++)fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,*%d\n*,o);}fclose(IN);fclose(OUT);/* 【程序設計】功能:求出菲波那契數列的前一項與后ー項之比的極限的近似值。例如:當誤差為0.0001時,函數值為0.618056。#include<stdio.h>#incl

溫馨提示

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

評論

0/150

提交評論