



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-ISJxJ5M$grt&0Rlook蜘-ISJxJ5M$grt&0Rlook蜘dowHet)第1部分實驗篇實驗一VisualC++6.0編譯系統入門實驗目的熟練掌握VisualC++6O編譯系統的常用功能。學會使用VisualC++6.0編譯系統創建、打開、編輯、保存、調試、運行C程序。熟練掌握C程序結構和語法規則。實驗內容.啟動VisualC++6.0并了解VisualC++6.0的環境。在Windows環境下,雙擊VisualC++6.0圖標,啟動VisualC++6.0進入一個標題為“TipoftheDay”窗口,如圖1.1所示??梢钥吹剑谠摯翱谥酗@示了一條幫助信息。單擊該窗口中的“NextTip”按鈕可以繼續得到更多的幫助信息。若單擊“Close”按鈕,則會關閉該窗口。進入VisualC++6.0集成開發環境的主窗口,如圖1.2所示,表示VisualC++6.0已經啟動成功。MkrosoftVHualJ.Bui1dxDebujXFindinFiles1\FindinFiles2\ResultsJ.]」Ready圖1」“TipoftheDay”窗口
圖1.2VisualC++6.0集成開發環境的主窗口VisualC++6O集成開發環境的主窗口由標題欄、菜單欄、工具欄、工作區窗口、源代碼編輯窗口、輸出窗口和狀態欄組成。屏幕窗口最上方是標題欄,顯示所打開的應用程序名。標題欄左端是控制菜單圖標,單擊后彈出窗口控制菜單。標題欄右端從左至右有三個控制按鈕,分別為最小化、最大化和關閉按鈕,可以用它們快速設置窗口的大小。標題欄下方是菜單欄,由9個菜單項組成。單擊菜單項彈出下拉式菜單,可使用這些菜單項實現集成開發環境的各種功能。菜單欄下方是工具欄,它由若干個功能按鈕組成,單擊按鈕可實現某種操作功能。該工具欄中共有15個工具項按鈕。如圖1.3所示。如圖13工具欄自左至右各按鈕的功能介紹如F:,NewTextFile創建新的文本文件Open打開已有文檔Save保存當前文檔內容SaveAll保存所有打開的文檔?Cut將選定的文檔內容從文檔中刪除,并將之復制到剪貼板中Copy將選定的文檔內容復制到剪貼板中Paste在當前插入點處粘貼剪貼板中的內容?Undo取消最近一次編輯操作Redo恢愛前一次取消的編輯操作,Workspace顯示或隱藏工作區窗口,Output顯示或隱藏輸出窗口Windowslist管理當前打開的窗口FindinFile在多個文件中搜索字符串Find激活查找工具,Search搜索聯機文檔工具欄的下方有左右兩個窗口,左窗口是項目工作區窗口,右窗口是源代碼編輯窗口。在項目工作窗口和源代碼編輯窗口的下方有?個輸出窗口,在創建項目(Build)時,用來顯示項目創建過程中的錯誤信息。屏幕最底部是狀態欄,它可以給出當前操作或所選命令的提示信息。.實驗例題將下面改錯題輸入到源代碼編輯窗口,調試,注意系統出現的信息。修改錯誤,直到程序運行成功。#include<stdio.h>main()/*mainfunction*/{printf("OK.\n"))操作步驟:1)在VisualC++6.0集成開發環境的主窗口,單擊File菜單,如圖14所示。
2)選擇New選項,出現如圖15所示的New對話框。圖1.5New命令對話窗口3)在New對話框中單擊Files菜單,如圖1.6所示。4)選擇“C++SourceFile”項,在File文本框中輸入源代碼文件的文件名(例如:aaa.c),并單擊Location項的按鈕,出現如圖L7所示的對話框。5)在Drives選項中找出要保存文件的盤符,例如:要將aaa.c文件保存在D:盤上,如圖L8所示。并單擊ChooseDirectory對話框中的“OK”按鈕。6)返回到New對話框,如圖1.9所示。繼續單擊New對話框中的“OK”按鈕。7)系統返回VisualC++6.0集成開發環境的主窗口,并顯示源代碼編輯窗口。如圖1.10所示。8)在源代碼編輯窗口輸入改錯的程序。如圖1.11所示。9)單擊菜單欄的Build菜單,選擇“Build”項進行編譯和鏈接。如圖1.12所示。10)因為“printf("OK.\n")”語句缺少“;”,所以編譯系統在項目工作窗口和源代碼編輯窗口的下方窗口顯示錯誤信息。如圖1.13所示。11)根據錯誤信息找到相應的地方進行修改,使之正確無誤。如圖L14所示。12)再選擇“Build”項進行編譯和鏈接。如圖1.15所示。13)屏幕出現“詢問是否創建默認項目工作區”對話框,如圖L16所示。14)單擊“Yes”按鈕,屏幕出現如圖1.17所示的“詢問是否保存文件”對話框。15)單擊“Yes”按鈕,系統開始對源程序文件進行編譯,如果程序仍然有錯必須再
次修改并重新對源程序進行編譯,直到沒有錯誤信息為止。如圖L18所示。IkrosoftVisualC++如圖1.6圖1.7單擊“Location”按鈕后的窗口16)執行程序可以選擇“Build”菜單中的“執行”命令,或者單擊主窗口工具欄中帶“!”的BuildExecute快捷鍵。屏幕出現如圖1.19所示的DOS形式的“輸入數據和輸出結果”窗口。如果程序要求鍵盤輸入數據,則C++等待用戶操作,然后顯示程序的輸出結果。當程序成功執行并輸出結果后,VisualC++顯示提示
信息:"Pressanykeytocontinue";這時按鍵盤上任意鍵,系統返網主窗口。圖1.8選中D盤后的窗口圖1.9單擊“OK”按鈕后的窗口
圖1.10源代碼編輯窗口圖1.11輸入改錯程序后的源代碼編輯窗口
圖1.12選擇“Build”項進行編譯圖1.13編譯后給出錯誤信息窗口
圖1.14程序修改后的窗口圖1.15Build窗口
圖1.16“詢問是否創建默認項目工作區”時話框圖1.17 “詢問是否保存文件”對話框
圖L18無錯誤信息的窗口圖1.19”輸入數據和輸出結果”窗口注意要點:在編譯和鏈接時,如果編譯器發現程序的語法錯誤,則會在輸出窗口中顯示錯誤信息,這些信息包括錯誤的性質、出現的位置和產生錯誤的原因等。如果雙擊某條錯誤信息,文件編輯區窗口的右邊出現一個箭頭,指向出現錯誤的程序行,此時用戶可以根據錯誤的性質修改程序。修改后還需重新對■源程序再進行編譯,直到沒有錯誤信息為止。執行程序是出現的錯誤稱為運行錯誤。例如,負數求開平方、溢出和內存不夠等。如果出現運行錯誤,用戶還要修改源程序并且重新編譯、鏈接和執行。執行結果顯示出來后,并不意味它一定是所求解問題的正確答案。因為程序可能存在邏輯錯誤。例如,算法錯誤、使用運算符錯誤等。這種錯誤不能被編譯器發現,必須通過人工測試、驗證去查找和修正錯誤。3.實驗操作題讀程序寫結果/*****s]—[ *****/main()(inta,b,c,d;a=b=c=5;c+=a+++b;d=c%a;printf(4ta=%d,b=%d,c=%d,d=%d\n,,,a,b,c,d);}上機前分析結果:實際上機結果:完善程序程序功能:下面的程序是求整數a/b的商和余數,請用正確的表達式填空。/*****sl-2C*****/main(){inta,b,c,d;a=100;b=30;printf(4ta=%d,b=%d,c=%d,d=%d\n,\a,b,c,d);改錯(1)將下面改錯題輸入到c編輯窗口,調試,注意系統出現的信息。修改錯誤,直到程序運行成功。/*****s].3c*****/#includestdio.h;main();/*mainfunction*/floatr,s; /*/*risrtadius*/,/*sisareaofcircular*/*/r=5.0;s=3.14159*r*r;printf("%f/n”,s)提示:注意符號的要求。⑵/*****s]-4.C*****/#includestdio.hmainIfloata,b,c,v;a=2.0;b=3.0;c=3.0v=a*b*c;printf(<<%f\n,\v))程序設計(1)輸入半徑,計算圓面積。(sl-5.c)提不:.定義兩個變量存放半徑和圓面積的值;.給半徑賦值;.計算圓面積=半徑X半徑X3.14159;.輸出圓面積的值。(2)輸入出生年份和當前年份計算年齡。(sl-6.c)提示:.定義兩個變量存放出生年份和當前年份;.輸入變量:出生年份,當前年份;.計算年齡=當前年份-出生年份;.輸出年齡。(3)輸入3個變量的值,假設三個變量分別是1,2,3;將它們的值交換后輸出,要求a的值放入b,b的值放入c,c的值放入a中。(sl-7.c)提示:交換三個變量的值,需要借助另一個變量。即該程序應定義4個變量。(4)把1050分鐘換算成用小時和分鐘表示,然后進行輸出。(sl-8.c)提示:輸出語句為:printf("%d小時%d分鐘\n”,h,m);其中h,m為存放小時和分鐘的變量。實驗二順序結構實驗目的.熟練掌握順序語句的使用。.理解并運用各種表達式。.熟練掌握輸入輸出語句的使用及常用格式字符的使用。實驗內容程序寫結果(1)/*****s2T.e*****/#include<stdio.h>main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n”,i,j,m,n);}上機前分析結果:實際上機結果:/*****s2-2.C*****/#include<stdio.h>main()(inta,b,d=241;a=d/100%9;b=(-l)&&(-!);printf("%d,%d\n”,a,b);}上機前分析結果:實際上機結果:/*****s2-3.C*****/#include<stdio.h>main()inta=3,b=2,c=l,d;d=(a>b>c);printf("%d\n”,d);)上機前分析結果:實際上機結果:/*****s2-4.C*****/#include<stdio.h>main(){inti=16,j,x=6,y,z;j=i+++l;printf("l:%d\n”,j);x*=i=j;printf("2:%d'n",x);x=l;y=2;z=3;x+=y+=z;printf(,,3:%d\n,',z+=x>y?x++:y++);x=y=z=-1;++xll++y&&++z;printf(H5:%d,%d,%d\nM,x,y,z);}提示:關系運算符分為兩個優先級,和“<=”處于同一優先級;“=”和"!=”處于同一優先級,前者優先級高于后者。邏輯運算符優先級為非(!)>與(&&)>或(II),“!”優先級高于算術運算符,“&&”和“II”優先級低于算術運算符和關系運算符。上機前分析結果:實際上機結果:.完善程序下列給定程序的功能是:從鍵盤輸入圓柱體的半徑r和高度h,計算其底面積s和體積v并輸出。請完善程序并調試。(s2-5.c)/*****s2-5.C*****/#include<stdio.h>main(){floatpi=3.1415926;floatr,h,s,v;printf("Pleaseinputr,h:n);scanf(n%f,—1—",&r,_2_);s=_3;v=4;printf(narea= 5 ,volume= 6 \nH,s,v);).程序設計從鍵盤輸入變量x,y的值,交換它們的值并輸出。(s2-6.c)提示:.用scanf函數輸入x,y的值;.用第三個變量輔助交換x,y的值:.用printf函數將交換后的x,y輸出。(2)輸入一個十進制數,輸出八進制,十六進制。(s2-7.c)提示:應用printf函數的格式控制。(3)編寫程序求出任一輸入字符的ASCH碼。(s2-8.C)提示:接收一個字符賦給變量,以整型輸出該變量。(4)從鍵盤輸入a,b,c三個變量的值,輸出其中最大的值。(s2-9.c)提示:用條件運算符(?:)實現。(5)輸入一個華氏溫度,要求輸出攝氏溫度。公式為c=5("132)。精確到小數點后兩位數字。提示:應用printf函數的格式控制中的長度限制。(s2-10.c)(6)從鍵盤輸入兩個二位數的正整數a和b,將它們合并形成一個新的整數c輸出。合并方式是:將a的十位和個位數依次放在c數的十位和千位上,b數的十位和個位數依次放在c數的百位和個位上。(如:a=35,b=42時,c=5432)(s2-ll.c)提示:考慮如何我取二位數的個位、十位,分別存入相應變量中,再組合輸出。(7)輸入一個雙精度數,對小數點后第2位進行四舍五入,即保留一位小數,輸出四舍五入后的結果:(S2-12.C)提示:1.注意scanf函數和printf函數具有不同的格式字符;.注意數的真正精度與實際顯示寬度是不同的;.分清數的精度與顯示寬度;.四舍五入算法:x=(x+0,05)*10;x=(int)x;x=x/10;實驗三選擇結構實驗目的.掌握C語言的關系運算符、邏輯運算符以及它們的表達式。.掌握各種if語句的使用方法。.掌握switch語句的使用.掌握嵌套的選擇結構實驗內容.讀程序寫結果/*****s3T.e*****/#include<stdio.h>main()(inta=10;if(a>10)primf("%d\n”,a>10);elseprintf(**%d\nM,a<=10);1上機前分析結果:實際上機結果:/*****s3-2.C*****/#include<stdio.h>main(){inta,b,c,d,x;a=c=O;b=l;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf("d=%d\n”,d);}提示:當程序中存在嵌套的if…else…結構時,由后向前每一個else都與其前面的最靠近它的if配對。上機前分析結果:實際上機結果:(3)/*****s3-3.C*****/#include<stdio.h>main(){intx=l,y=O;switch(x){case1:switch(y)(caseO:printf("first\n'');break;case1:prinlf("second\rT);break;}case2:printf("third\n'');)}上機前分析結果:實際上機結果:2.完善程序(1)將用戶輸入的字母進行大小寫換成。(s3-4.c)提示:小字字母a比大寫字母大32。接收一個字符,判斷是否大小寫,再進行相應轉換。/*****s3-4.C*****/#include<stdio.h>main(){chari;scanf("%c”,&i);if(—1—)2;elseif(3)4;printf(<t%c\n,,,i);3.程序設計(1)輸入一整數,輸出它是奇數還是偶數。(s3-5.c)提示:若除2的余數為0則輸出偶數,否則輸出奇數。(2)輸入3個數,輸出其中的最大數。(s3-6.c)提示:用scanf函數輸入3個變量,用選擇語句比較后用printf將結果輸出。一函數:(s3-7.c)-x(-5<x<0)y=]x—1 (x=0)x+1 (0<x<10)編寫程序:要求輸入x,輸出y。(4)輸入一個學生的生日(年,月,日:yl,ml,dl);并輸入當前的日期(年,月,日:y2,m2,d2);輸出該生的實足年齡。(s3-8.c)提示:1.因為每月的天數不等,所以只要求精確到年月;.可設定實足年齡為y3歲零m3個月;.參考算法:y3=y2-yl;m3=m2-ml;if(m3<0){y3—;m3=12-abs(m3);}(5)輸入一個成績,要求輸出成績等級A、B、C、D、E,90分以上為“A”,80-90為“B”,70-79為“C”,60-69為“D”,其它為“E"。(s3-9.c)提示:用switch實現。實驗四循環結構實驗目的.熟練掌握循環語句的使用方法。.重點掌握FOR循環語句的使用。.掌握各種循環的嵌套。.掌握break和continue語句在循環結構中的應用。實驗內容.讀程序寫結果/*****s4-l.C*****/#include<stdio.h>main(){intx;x=-l;do{x=x*x;}while(!x);printf(44x=%d\n,\x);}上機前分析結果:實際上機結果:該循環執行了次⑵/*****s4-2.C*****/#include<stdio.h>main(){inti;for(i=l;i<6;i++){if(i%2)printf(M#n);elsecontinue;printf(H*");)printfCt\nM);}上機前分析結果:實際上機結果:⑶/*****s4-3C*****/#include<stdio.h>main()inti,j,k;for(i=l;i<=6;i++)(for(j=1;j<=20-2*i;j++)printf(44");for(k=1;k<=i;k++)printf("%4d”,i);printf("\n'');})上機前分析結果:實際上機結果:.完善程序程序功能是:計算1-50之間7的倍數的數值之和。(s4-4.c)/*****s4?7C*****/#include<stdio.h>main()(TOC\o"1-5"\h\zinti,sum=1 ;fbr(i=l;2 ;i++)if(3 )sum+=i;printf(t4sum=%d\n,,,sum);.改錯程序功能是:計算1-10之間的奇數和偶數之和。(s4-5.c)/*****s4-8C*****/#include<stdio.h>main()(inti,a,b,c;a=c=0;for(i=0,i<=10,i+2);{a+=i;/**********found***********/b=a+lc+=b;printf(44Thesumofeven=%d\n,\a);printf(44Thesumofodd=%d\n,,,c);.程序設計(1)求1-3+5—7+……-99+101的值。(s4-6.c)⑵求1!+2!+3!+4!+…+n!的和,n由鍵盤輸入。(s4-7.c)(3)1000以內的水仙花數:如:153=1*1*1+5*5*5+3*3*3。(s4-8.c)提示:循環100-999查找。(4)求200?300之間的數,且滿足條件:它們三個數字之積為42,三個數字之和為12?(s4-9.c)(5)雞兔共有30只,腳90只,編程計算雞兔各有多少只。(s4-I0.c)提示:設有雞x只,則兔只有30-x只,循環0-15次,即可求得。(6)計算e=l+l〃!+l/2!+l/3!+……l/n!o精度為1E-6(即l/n!<!E-6就停止循環。)(s4-ll.c)提示:階乘的計算公式為:2!=1*2;3!=1*2*3;n!=l*2*3* *n(7)寫程序:輸出10以內的加法表。(s4-12c)提示:用雙重循環實現。(8)求兩個非負整數u和v的最大公約數。(s4-13c)提示:.用輾轉相除法實現;.算法為:將較大的數放在變量u中,較小的數放在v中。當v不為。時,用輾轉操作:temp=u%v;u=v;v=temp;當v為0時,u即為最大公約數。(9)寫程序,輸出以下圖形。(s4-14c)AAAAAAAAAAAAAAAA提示:圖形中的每行輸出的空格數和字符數隨著行的下移而減少和增加,故可通過兩個for循環控制每行輸出的空格數和字符數。用一個大循環(包含上面的兩個循環)控制不同行的輸出。for( ) /*從第一行到最后一行*/{for()printf();/*輸出若干空格*/for(……)printf(……);/*輸出若干字符*/printf( );} /*換行*/實驗五數組實驗目的.掌握一維數組和二維數組的定義、數組元素的引用形式和數組的輸入輸出方法。.掌握字符數組和字符串函數的使用。.掌握與數組有關的算法(如:排序算法、矩陣運算等)。實驗內容.讀程序寫結果([)/*****§5-1C*****/#include<stdio.h>main()(inta[]={1,2,3,4},i,j,s=0;j=l;for(i=3;i>=0;i-)(s=s+a[i]*j;j=j*10;}printf("s=%d\n",s);}上機前分析結果:實際上機結果:⑵/*****s5-2C*****/#include<stdio.h>main()(chara[20]=nGood\t\\\0ChinaH;inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\n",ij);}上機前分析結果:實際上機結果:(3)/*****s5-3.C#include<stdio.h>main()(chars[]=Hagoodworld',;intij;for(i=j=O;s[i]!=*\O';i++)if(s[i]!=,d,)s[j++]=s[i];s|j]=、。';printf(H%sM,s);)上機前分析結果:實際上機結果:(4)/*****s5-4.C*****/#include<stdio.h>main()(intfib[12],i;fib[0]=0;fib[l]=l;for(i=2;i<12;i++)fib[i]=fib[i-l]+fib[i-2];for(i=0;i<12;i++)printf(M%6dM,fibli]);printf(n\nn);)上機前分析結果:實際上機結果:.完善程序(1)以下程序將讀入的字符串si復制給s2,請完善程序并調試。/**********/#include<stdio.h>main()(inti;charsll20],s2[20];printf(Menterstring1:H);gets(sl);for(i=0;1;i++)2;printf(',string2:%s\n,',3);(2)以下程序的功能是:計算矩陣所有周邊元素的和。部分源程序如下:提示:先對矩陣上邊和下邊元素求和,再對矩陣左邊和右邊元素求和。/*****§5一6*****/#include<stdio.h>#defineM4#defineN3main(){inta[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12)};intsum=0,i,j;for(i=0;i<N;i++)sum+=a[0][i]+ 1 ;for(j=l;j<M-l;j++)sum+=a[j][01+_2_;printf("%d\n”,sum);1.改錯下列給定程序的功能是:從字符串s中,刪除所有大寫字母'F\請改正程序中的錯誤,使它能得到正確的結果。/*****§5-7C*****/#include<stdio.h>main()(intij;chars[80];printf("enterstring:");gets(s);/**********found**********/for(i=j=O;s[i]!='O';i++)if(s[i]!=F)/**********fouiid**********/s[j]=s[i];sm='o';printf("string2:%s\n",s);).程序設計(1)輸入10個整數存入一維數組,按逆序重新存放后再輸出。(s5-8.c)提示:重新存放就是數據交換的過程。(2)輸入10個整數存入一維數組,找出最小的數,然后把它和數組中最前面的元素對換位置再輸出。(s5-9.c)提示:找最小值及最小值所在元素的下標,將其與最前面的元素交換。(3)將輸入字符串中所有下標為偶數位置上的字母轉化為大寫字母。(S5-10.C)提示:大小寫字母相差32。對大寫字母和其它字符,則不進行轉換。(4)將用戶輸入的十進制整數轉換成二進制(八進制)的數。(S5-U.C)提示:接收一個十進制數和要轉換的進制,用輾轉相除法實現。(5)輸入兩個字符串(<40字節),連接后輸出(不許用系統函數)。(S5-12.C)提示:字符串本身是一個字符型數組,注意字符串結束符。(6)從鍵盤上輸入15個整數存入一維數組中,對該數組進行排序(降序),輸出排序后的結果。(s5-13.c)(7)_將100以內的所有素數存入一維數組中并輸出。(s5-14.c)提示:判斷數n是素數的方法:該數不能被2到n-1之間的數除盡。實驗六函數實驗目的.熟練掌握函數的定義和使用方法。.熟練掌握調用函數與被調用函數之間的數據傳遞。.掌握函數的返回值和類型。.掌握的嵌套調用和遞歸調用。實驗內容.讀程序、寫結果⑴/*****s6J.c*****/#include<stdio.h>main()(inta=2,b=10;func(a,b);printf(4ta=%d,b=%d\n,\a,b);}func(inta,intb)(inttemp;temp=a;a=b;b=temp;}上機前分析結果:實際上機結果(分析原因):(2)/*****s6-2c*****/#include<stdio.h>inta=1,j=2;main(){inti=2;func();printfCta=%d,i=%d,j=%d\n,\a,ij);}func(){intn,i=5;printf(4€a=%d,i=%d\n,\a,-i);i++;a++;if(a<4)func();a--;j+=3;printf("a=%d,j=%d\n”,a,j);}提示:注意函數遞歸調用的過程。上機前分析結果:實際上機結果:(3)/*****s6-3c*****/qianl(intx,inty){intc,s,t;s=x+y;t=x-y;c=qian2(s,t);return(c);printf(,,c=%d\nM,c);}qian2(intx,inty){return(x+y);}main(){inta=l,b=2,c;c=2*qian1(a,b);printf(Hc=%d\nu,c);)上機前分析結果:實際上機結果:.完善程序(1)給定程序中,函數fun的功能是:計算F式前n項的和作為函數值返回。Ix3_3x5^5x7_ 1(2x?-l)x(2x?+l)22 42 62 1 (2x?)2例如:當行參n的值為10時,函數返回-0.204491。/*****s6-4c*****/#include<stdio.h>doublefun(intn)(inti,k;doubles,t;s=0;k=—1—;for(i=l;i<=n;i++)(t=2 :s=s+k*(2*i-l)*(2*i+l)/(t*t);k=k* 3 ;}returns;}main()(intn=-l;while(n<0)(printf("Pleaseinput(n>0):");scanf(u%d'\&n);}printf(n\nTheresultis:%f\n",fun(n));)⑵以下函數的功能是:求100(不包括100)以內能被2或5整除,但不能同時被2或5整除的自然數。結果保存在數組bb中,函數fun()返回數組bb元素的個數。/*****§6-5c*****#include<stdio.h>#defineN100intfun(intbb[])(inti,j;for(_1—;i<100;i++)if((i%2!=0&&i%5==0)ll(i%2==0&&i%5!=0))―2—;returnj;)main()(inti,n;intbb[N];clrscr();n=fun(bb);for(i=0;i<n;i++){if(i%10==0)printf(M%4d\bb[i]);})3.改錯(1)以下fun函數用以判斷n是否為素數。fun函數中有邏輯錯,main函數完成從鍵盤接收一個整數,再以該數為參數調用fun函數,修改fun中的錯誤。/*****s6-6c*****#include<stdio.h>fun(intn){/*****砧und*****/intk,yes=0;for(k=2;k<=n/2;k++)/*****found*****/if(n%k==0)yes=1;/*****^)und*****/return;}main(){intx;printf(H\ninputanumber:");scanf(H%d'\&x);if(fun(x))printf(H%disshushu.\nn,x);elseprintf("%disn'tshushu.\n",x);)9a Q IQ 91(2)給定程序的功能是:求出以下分數序列的前n項之和:,……。12 35 8 13和值通過函數值返回。(例如:若n=5,則應輸出8.391667)/*****s6.7c*****#include<conio.h>#include<stdio.h>/********f^)und********/fun(intn)inta,b,c,k;doubles;s=0.0;a=2;/********found********/b=0;for(k=l;k<=n;k++){s=s+(double)a/b;c=a;a=b+c;b=c;)/********found********/returns}main()(intn=5;clrscr();printf("\nthevalueoffunctionis:%f\n",fun(n));}4.程序設計(1)判斷輸入年份是否為閏年。(s6-8.c)提示:.寫一個函數:若參數Y為閏年,則返回1,否則返回0;.判斷年份是否為閏年的條件是:①公元年數如能被4整除而不能被100整除,則是閏年;②公元年數能被400整除也是閏年。(2)編寫程序,通過函數調用,求表達式/-5*1+4的值,x作為參數傳遞給函數,假設x1=20.34,x2=3o(S6-9.C)調用此函數求:yl=22-5*2+4y2=(xl+15)2-5*(xl+15)+4y3=sin?x2-5*sinx2+4(3)寫函數,根據整型形參m的值,計算如下公式的值。(S6-10.C),1 11t=\ 2*23*3 m^m(4)下面程序的功能是計算5=才依,請編寫求n!的函數fun。k—Q/*****s6~4c*****/longfun(intn)|main(){inti,n;longs;scanf(0%dM,&n);s=0;for(i=|;i<=n;i++);s=s+fun(i);printf("%ld\n",s)'}(5)請編寫函數countch,其功能是:分別統計字符串中英文字母、空格、數字和其它字符的個數。/*****s6?]2c*****#include<stdio.h>#include<string.h>intletters=0,space=0,digit=0,others=0;voidcountch(charstr[],intn)}voidmain(){inti;chars[30];printf(n\npleaseinputsomecharacters\nu);for(i=O;s[i]=getchar(),s[i]!='\n*;i++);countch(s,i);puts(s);printf(,'char=%dspace=%ddigit=%dothers=%d\nM,letters,space,digit,others);(6)請編寫函數fun,其功能是:判斷形參s所指字符串是否是“回文”(palindrome),若是,函數近回值為1;不是,函數近回值為0。“回文”是正讀和反讀都一樣的字符串。例如:LEVELTLEVEL是回文,而LEVLEV不是"回文”。/***** 11c*****#include<stdio.h>#include<string.h>intfun(charstr[])}main(){inti,f;chars[30];printf(,'\inputstrings:n);gets(s);f=fun(s);if(f)printf("\n%sisaPalindrome.\n'\s);elseprintf("\n%sisn*taPalindrome.\n'\s);}實驗七存儲類型和編譯預處理實驗目的.掌握全局變量和局部變量的含義及其使用方法。.掌握變量的各種存儲類型及其使用方法。.掌握內部函數和外部函數的含義及其使用方法。.掌握靜態變量的作用域及使用。.掌握宏定義和文件包含的含義及其使用方法。實驗內容.讀程序、寫結果(])/*****s7.1c*****/#include<stdio.h>intx=-8,y=100;func(inta){inty;y=x+a;x++;a++;retum(x+y+a);}main(){intm=2;y=func(m);printfC4x=%d,y=%d,m=%d\n,\x,y,m);)上機前分析結果:實際上機結果:2)/*****s7-2.c*****/#include<stdio.h>main(){inta[]={3,8,4,2),i;intx=0;for(i=0;i<4;i++){func(a,x);printff4%d,\x);func(ints[],inty)staticintt=0;y=s[t];t++;)上機前分析結果:實際上機結果:⑶/*****s7-3c*****/#include<stdio.h>#defineN2#defineMN+l#defineNUM(M+l)*M/2main()(inti,n=O;for(i=l;i<=NUM;i++)printf("%d”,n);}printf(“\n”);)上機前分析結果:實際上機結果:(4)/*****s7-4c*****/#include<stdio.h>#defineS(x)x*xmain()(inta,k=3;a=++S(k+l);printf(M%d\nM,a);)上機前分析結果:實際上機結果:(5)/*****s7.5c*****/#defineT(x,y)(x)<(y)?(x):(y)main()inti=5,j=10,k;k=10*T(i,j);printf(,,%d\n',,k);}上機前分析結果:實際上機結果:/***?*s7-6.c*****/#defineDEBUG1main(){inta=10;#ifDEBUGprintf("thevalueis%d\n'\a);#elseprintf(,,nothing\n,');#endif)上機前分析結果:實際上機結果:(7)/*****s7-7c*****/#defineDEBUG0main(){inta=10;#ifndefDEBUGprintf("thevalueis%d\nM,a);#elseprintf(nnothing\nn);#endif}上機前分析結果:實際上機結果(8)按下列步驟完成指定的操作,理解文件嵌入并分析運行結果。定義如下內容的頭文件mycounL.h#definePI3.14159#definrR2.0定義如下內容的程序文件calculate.cfloatcircum(x)floatx,y;y=2*PI*x;retum(y);)floatarea(x)(floatx,z;z=PI*x*x;retum(z);}③輸入主程序并運行/*****s7-8c*****/#include<stdio.h>#include“mycount.h"#includecaiculate.cMmain()(floatl,s;1=circum(R);s=area(R);printf(44\nl=%fs=%f\l,s);return0)上機前分析結果:實際上機結果2.完善程序程序功能:將一個十六進制數字的字符串轉換成與它等價的十進制整數值。十六進制允許的字符是從0-9和a-f(A-F)o主函數負責收集字符,并判別它們是否為十六進制,htoi函數負責轉換工作。#include<stdio.h>#defineMAXLINE100#defineEOF-1#defineYES1#defineNO0inthtoi();main()(intc,i,isdigit;chartlMAXLINEJ;i=0;isdigit=1;while((c=_2)!=EOF&&i<MAXLINE-1){if(c>='0'&&c<二'9' a'&&c<=?rilc>='A'&&cv='F')(isdigit=YES;t[i++]=_3;}elseif(isdigil==YES)(isdigit=4;t[i]=5;printf("%d”,6);i=0;)))inthtoi(char7)(inti,n;n=0;for(i=O;s[i]!=,\O,;i++)|if(s[i]>=,0,&&s[i]<=,9,)n=n*16+s[i]--8;if(s[i]>=,a,&&s[i]<=,f,)n=n*16+s[i]-9;if(s[i]>=,A,&&s[i]<=,F)n=n*16+s[i]-10:retum(n);)實驗八指針操作實驗目的1212345掌握通過指針使用一-維數組。掌握指針參數在函數中傳遞地址值。掌握通過指針使用字符串。了解main函數中參數的使用。實驗內容.讀程序寫結果(])/******s8-l.c******/#include<stdio.h>main()int叫={2,3,4};int*p,s,i;s-1;p=a;for(i=0;i<3;i++)s*=*(p+i);printf(,,s=%d\nH,s);}上機前分析結果:實際上機結果:(2)/******s8-2c******/#include<stdio.h>main()inta[]={l,3,5,7,9},*p=a;printf("%d\nH,(*p++));printf(n%d\nM,(*++p));printf("%d\nH,(*++p)++);printf("%d\nH,*p);}上機前分析結果:實際上機結果:(3)/******s8-3c******/#include<stdio.h>main()(charsl[]="TodayisFriday!"char*s2="Tomorrow",*p;p=sl;while(*s2!='\0')*p++=*s2++;printf(n%s\nu,sl);}上機前分析結果:實際匕機結果:(4)/******s84c******/#include<stdio.h>intfun(int*s)(staticintt=0;t=*s+t;returnt;)main()(inti,k;for(i=0;i<4;i++){k=fun(&i);printf(H%4dM,k);}printf("\n");}上機前分析結果:實際上機結果:.完善程序(1)程序功能:函數strcat(strl,st2)實現將字符串str2拼接到字符串strl后面的功能。/******s8=5c******/#include<stdio.h>char*strcat(char*strl,char*str2){char*t=strl;while(1)strl++;while(2);return(t);)main()(charsl[80],s2[80],*s3;gets(sl);gets(s2);s3=strcat(sl,s2);printf(H%s\n",s3);}(2)程序功能:依次取出字符串中所有小寫字母以形成新的字符串,并取代原字符串。/******s8-6c******/#include<stdio.h>voidfun(char*s){inti=0;char*p=s;while(1){if(*p>='a'&&*pv='z'){s[i]=*p;2;|P++;}s[i]=3;}main(){charstr[8O];gets(str);fun(str);printf(n\nthestringofchangingis:%s\n'\str);)(3)程序功能:通過指針作函數的參數實現三個數從小到大的排序。/******c******/#include<stdio.h>voidswap(1){inti;i=*ptl;*ptl=*pt2;*pt2=i;)voidexchange(int*ql,int*q2,int*q3)(if(2)swap(ql,q2);if(3)swap(ql,q3);if(4)swap(q2,q3);}main()(inta,b,c;int*pl,*p2,*p3;pl=&a;p2=&b;p3=&c;*pl=24;*p2=93;*p3=15;exchange(5);printf(ua=%d,b=%d,c=%d\nn,a,b,c);}(4)程序功能:以下程序統計命令行第一個參數中出現的字母個數,請調試通過。/******§8-8.c******/#include<stdio.h>#include<ctype.h>main(intargc,1){char*str;intcount=0;if(argc<2)exit(l);str=2;while(*str)if(isalpha(3))count++;printf(u\nLetternumberis:%d\nH,count);}.改錯程序功能:給定程序中函數fun的功能是:將在字符串s中下標為奇數位置上的字符,緊隨其后重復出現一次,放在一個新串t中,t中字符按原字符串中字符的順序排列。(注意0為偶數)例如:當s中的字符串為:"ABCDEF"時,則t中的字符串應為:"BBDDFF"。請改正函數fun中的錯誤,使它能得出正確的結果。注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!/******s8-9c******/#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,char*t)inti,j,si;si=strlen(s);/************lound************/for(i=0,j=0;i<sl;i+=2)t[2*j]=s[i];t[2*j+l]=s[i];/************found************/J-?}t[2*j]='O';}main(){chars[100],t[100];clrscr();printf("\nPleaseenterstrings:n);scanf(M%sn,s);fun(s,t);printf(nTheresultis:%s\n",t);}.程序設計(1)請編寫函數,對傳送過來的三個數選出最大和最小數,并通過形參傳回結果。部分源程序如下:(s8-10.c)/******sS-l0c******/#include<stdio.h>voidfun(ints[],int*pl,int*p2,intn)main()(inta[3],i,*max,*min,;for(i=0;i<3;i++)scanf(M%dM,&a[i]);fun(a,max,min,3)printf(nmax=%d,min=%d\nM,*max,*min);}(2)編寫函數,其功能是對傳送過來的兩個浮點數求出和值和差值,并通過形參傳送回調用函數。(s8-ll.c)提示:利用指針傳送地址值。通過傳送地址值來改變實參。區分*變量和&變量的含義。參考:函數名(數1,數2,和變量地址,差變量地址)。(3)將s所指字符串中下標為奇數的字符刪除,串中剩余字符形成的新串放在t所指數組中,部分源程序如下,請編寫相應功能的函數:(S8-12.C)/******s8-i2.c******/#include<stdio.h>#include<string.h>voidfun(char*s,char*t)main(){chars[80],t[80];printf("\npleaseenterstrings:n);gets(s);fun(s,t);printf(n\ntheresultis%s\nu,t);(4)用指針方法比較輸入的兩個字符串是否相等。(s8-13.c)提示:可用字符型指針指向字符串的開始,逐個移動指針進行比較。(5)編寫一個程序,將用戶輸入的由數字字符和非數字字符組成的字符串中的數字字符提取出來,例如輸入“asdl23rt456,fg789”,則產生的數字分別是123456789?(s8-14.c)提示:用一個函數接收用戶輸入的字符串,然后逐一判斷每個字符是否數字,將其存入數組中。實驗九結構體和聯合體實驗目的.結構體變量與數組的定義及結構變量和結構成員的使用。.聯合體的含義及使用。.掌握鏈表的概念,學會鏈表的基本操作。實驗內容.讀程序寫結果(1)/******s9?lc******/#include<stdio.h>structks{inta;char*b;}as[]={5,''abcd”,6;'efgh"};main()(structks*p;p=as;printf(<<%s\n,\as[1].b);printf(44%s\n,\p->b++);printf(<<%s\n,\p->b);printf("%s\n”,p++->b);printf(<4%s\nM,p->b);}上機前分析結果:實際上.機結果:⑵/******⑵/******s9?2c******/#include<stdio.h>structstru(charnum[10];;intscore[3];;};main()(structstrus[3]={{"20050190,95,85},{“2OO5O2”,95,80,75},{“2OO5O3”[00,95,90}},*—;inti;floatsum=0;for(i=0;i<3;i++)sum=sum4-p->score[i];printf(44%6.2f\nM,sum);上機前分析結果:實際上機結果:⑶/******s9-3c******/#include<stdio.h>unionw{intx;charch[2];}a;main()(a.ch[0]=13;a.ch[l]=0;printf(4t%d\n,,,a.x);)上機前分析結果:實際上機結果:.完善程序程序功能:以下程序用于在結構體數組中查找分數最高和最低的同學姓名和成績。(s9-4.c)/******s9-4c******/#include<stdio.h>main(){intmax,min,ij;staticstruct(charname[8];intscore;}stud[5]={fc4li,\90;,chen,,,100;,wang,\60,,,sun,\50;,qian,,,65);max=min=0;fbr(i=l;i<5;i++)if(stud[i].score>stud[maxj.score)1;elseif(stud[i].score<studfmin].score)2;printf(44THEMAXSCORE:%s,%d\n,\3);printf(44THEMINSCORE:%S.%d\nM.4 ):(2)學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,函數fun()的功能是:把低于平均分的學生數據放在b所指的數組中,低于平均分的學生人數通過形參n傳回并輸出,平均分通過函數值返回;最后升序輸出低于平均分的學生的成績。/******s9-5c******/#include<stdio.h>#defineN8typedefstruct{charnum[10];doubles;JSTRUC;doublefun(STRUC*a,STRUC*b,int*n)(inti,j=0;doubleav=0.0;for(i=0;ivN;i++)TOC\o"1-5"\h\zav=av+1 ;av=2 ;for(i=0;i<N;i++)if(a[i].s<av)b[—3—]=a[i];*n=j;return4 ;}main()(STRUCs[N]=({MGA05”,85},{“GA03”,76},{“GA02”,69},{MGA04H,85},{"GAO {MGA07,1,72},{MGA08';64},{“GA06”,87}};STRUCh[N],t;inti,j,n;doubleave;for(i=0;i<N;i++)printf(M%s%4.1f\n'\s[i].num,s[i].s);ave=fun(s,h,&n);printf("The%dstudentdatawhichislowerthan%7.3f:\n",n,ave);for(i=0;i<n;i++)printf(n%s%4.1AnM,h[i].num,h[i].s);printf(H\nH);for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(h[i].s>h[j].s){t=h[i];h[i]=h|j];h[j]=t;}fbr(i=O;i<n;i++)printf(H%s%4.1f\n",h[i].num,h[i].s);}.改錯給定程序是建立一個帶頭結點的單向鏈表,并用隨機函數為各結點賦值。函數fun的功能是將單向鏈表結點(不包括頭結點)數據域為偶數的值累加起來,并且作為函數值返回。請改正程序中的錯誤,使其能得出正確的結果。(s9-6.c)/******s9-6c******/#include<stdio.h>#include<stdlib.h>typedefstructaa{intdata;structaa*next;}NODE;intfun(NODE*h)intsum=O;NODE*p;/***********found**********/p=h;while(p)if(p->data%2==0)sum+=p->data;p=h->next;)returnsum;}NODE*creatlink(intn){NODE*h,*p,*s,*q;inti,x;h=p=(NODE*)malloc(sizeof(NODE));for(i=l;i<=n;i++){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%16;s->next=p->next;p->next=s;p=p->next;}p->next=NULL;returnh;}outlink(NODE*h){NODE*p;p=h->next;printf(MTHELIST:\nHEAD");while(p)|printf(n->%dH,p->data);p=p->next;main(){NODE*head;inteven;head=creatlink(12);head->data=9000;outlink(head);even=fun(head);printf(uTheresult%d:\n'\even);getch();).程序設計(1)用結構數組建立含5個人的通訊錄,包括姓名、地址和電話號碼。能根據鍵盤輸入的姓名輸出該姓名及對應的電話號碼。(s9-7.c)(2)用結構數組實現輸入3個人的姓名和年齡,并輸出3個人中最年長者的姓名和年齡。(s9-8.c)(3)用結構數組實現輸入10個人考試成績,包括姓名、數學、計算機、英語和總分。其中,總分由程序自動計算。主程序能輸出排序后的數組。按總分從高到低排序由子程序fsort()完成。(s9-9.c)(4)學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:函數返回指定學號的學生數據,指定的學號在主函數中輸入。若沒找到指定學號,在結構體變量中給學號置空串,給成績置-1,作為函數值返回(用于字符串比較的函數是strcmp),/******s9-]0c******/#include<stdio.h>#include<string.h>#defineN16typedefstruct{charnum[10];ints;JSTREC;STRECfun(STREC*a,char*b)main(){STRECs[N]={{MGA005M,85},{MGA003M,76},{,,GA002,1,69},{MGA004,,,85},{MGA00r,,91},{“GA007”,72},{”GA008”,64},{HGA006n,87},{“GAO15”,85},{“GAO13”,91},{“GAO12”,64},{"GAO14”,91},{”GA0UM,77},{nGA017”,64},{“GAO18”,64},{“GAO16”,72}};STRECh;charm[10];inti;printf(HTheoriginaldata:\n");for(i=0;i<N;i++)if(i%4==0)printf(n\n0);printf("%s%3dH,s[i].num,s[i].s);}printf(u\n\nEnterthenumber:");gets(m);h=fun(s,m);printf('Thedata:");printf("\n%s%4d\nn,h.num,h.s);h=fun(s,,rGA013n);printf("%s%4d\n'\h.num,h.s);實驗十文件操作實驗目的.掌握文件與緩沖文件系統、文件指針的概念。.熟練運用文件打開、關閉、讀、寫等操作函數。.掌握綜合運用所學知識解決問題的方法。實驗內容.讀程序寫結果⑴下列程序中文本文件myfile.txt的的內容為:GoodChina!,分析程序運行后的輸出結果。/******S10-[C******/#include<stdio.h>main(){HLE*fp;charstr[40];fp=fopenC4myfile.txf;Mr");fgets(str,5,fp);printf("%s\n”,str);fclose(fp);}上機前分析結果:實際上機結果:2)/******s]0-2c******/#include<stdio.h>main(){FILE*fp;charbuf[80];chara[]=Habcdefghi,\b[J=,,123456789uif((fp=fopen(timytxt.txt,\Hw+"))==NULL)return;fputs(a,fp);fputc(An\fp);fputs(b,fp);rewind(fp); /*文件指針返回文件開頭*./while(fgets(buf,80,fp)!=NULL)printfC%sM,buf);fclose(fp);}上機前分析結果:實際上機結果:2.完善程序(1)程序功能:把從鍵盤讀入的5個整數以二進制方式寫到一個名為bit.dat的新文件中。/******s]0-3c******/#include<stdio.h>main()(HLE*fp;inti,num;if((fp=fopen(1Jwbn))==NULL)exit(O));for(i=0;i<5;i++)(scanf(”%d”,&num);fwrite(&num,sizeof(int),1, 2 );)fclose(fp);}(2)以下程序中,用戶從鍵盤輸入一個文件名,然后輸入一串字符(用#結束輸入)存放到此文件中,形成文本文件,并將字符的個數寫到文件尾部。/******§10-4c******/#include<stdio.h>main(){FILE*fp;charch,fname[32];intcount=0;printf(44inputthefilename:'';scanf("%s”,fname);if((fp=fopen(1—,"w+"))==NULL){printf("Can'topenfile:%s\nn,fname);Exit(O);)printf(MEnterdata:\nM);while((ch=getchar())!='#')(fputc(2-,fjp);3—;fprintf(fp,"\n%d\n",count); /*將輸入的字符個數添加到文件尾*/fclose(fp);}4.程序設計(1)將二進制文件filel.dat內容復制到file2.dat中。(sl0-5.c)提示:1.首先以讀方式打開filel,以寫的方式打開fi1e2。2.然后讀A,寫B;注意判斷文件結束。(2)從鍵盤上輸入一個長度大于50的字符串放入一個文件中,再從該文件中讀出字符串,并顯示。(S10-6.C)(3)從鍵盤上輸入一個字符串,將其中的大寫字母全部轉換成小寫字母,然后存入文件myfile.txt中,輸入的字符以號結束。(slO-7.c)第2部分綜合測試測試1i.填空數組x[N]保存著?組3位數的無符號正整數,該函數的功能是:從數組中找出個位和百位的數字相等的所有無符號整數,結果保存在數組y中,其個數由函數fun()返回。部分源程序如下:/******c******/#include<stdio.h>intfun(intx[],inty[],intnum){inti,n=O;intg,b;for(i=0;i<num;i++)(g=一1一;b=x[i]/100;if(g==b)_2一;)returnn;}main(){intx[8]={135,787,232,222,424,333,141,541);intz[8];intnum=8,n=0,i=0;printf(4t***originaldata***\n,?);for(i=0;i<num;i++)printf("%uM,x[i]);printf(n\nn);n=fun(x,z,num);for(i=0;i<n;i++)printf(H%u}2.改錯(2k)222 42 6(2k)222 42 62H33x5X5^7 (2k-1)(25+1)請改正函數fun中的錯誤,使程序能輸出正確的結果。注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!/*****s11.2c*****/#include<conio.h>#include<stdio.h>#include<string.h>/************found************/fun(intk)intn;floats,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;|/************found************/returns}main()(clrscr();printf(',%f\nM,fun(10));|3.程序設計請編寫函數,函數fun的功能是:把a數組中的n個數和b數組中逆序的n個數-一對應相加,結果存在c數組中。例如:當a數組中的值是:1、3、5,7、8b數組中的值是:2、3、4、5、8調用該函數后,c數組中存放的數據是9、8、9,10.10/******sU-3c******/#include<conio.h>#include<stdio.h>voidfun(inta[],intb[],intc[],intn)main()inti,a[100]={13,5,7,8),b[100]={2,3,4,5,8},c[100];clrscr();fun(a,b,c,5);printf(HTheresultis:");for(i=0;i<5;i++)printf(H%d”,c[i]);printf(',\nH);測試2i.填空函數fun()的功能是:把字符串str中的數字字符轉換成數字并存放到整數數組bb中,函數返回數組bb的長度。/******s11-4c******/#include<stdio.h>#defineN80intfun(chars[],intbb[],intnum){inti,n=0;for(i=0;i<num;i++){if(一1—)|bb[n]=—2一;n++;})return 3 ;}main()|charstr[N];intnum=0,n,i;printf(nEnterastring:");gets(str);num=strlen(str);n=fun(str,bb,num);printf(n\nbb=M);for(i=0;i<n;i++)printf(n%dM,bb[i]);2.改錯以下函數fun的功能是:從低位開始取出長整型變量s中偶數位上的數,依次構成一個新數放在t中。例如,當s中的數為654321時,t中的數為642。/******s][-5c******/#include<conio.h>#include<stdio.h>/********於und********/voidfun(longs,longt){longsl=10;s/=10;*t=s%10;/********found********/while(s<0){s=s/100;*t=s%10*sl+*t;sl=sl*10;}}main(){longs,t;clrscr();printf(u\nPleaseenters:n);scanf(M%ldn,&s);fun(s,&t);printf(HTheresultis:%ld\n*,t);}3.程序設計請編寫函數,該函數的功能是:將低于平均分的分數放在below所指的數組中,將低于平均分的人數作為函數返回值返回。部分源程序如下:/******s11-6c******/#include<stdio.h>#include<string.h>intfun(intscore[],intm,intbelow[])}main()(inti,n,below[9];intscore[9]={10,20,30,40,50,60,70,80,90);n=fun(sc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購合同執行與監督協議
- 沿海地區海島采砂資源合作開發合同
- 水文地質測繪成果保密及授權使用合同
- 茶園旅游民宿開發與承包經營合同
- 年終考核總結2025年(16篇)
- 公司承攬合同管理制度
- 公安單身民警管理制度
- 2025年文藝部工作計劃(16篇)
- 2025年安全員述職報告(16篇)
- 軟件測試中如何考慮可維護性問題試題及答案
- 初中畢業證書怎么查詢電子版
- YY/T 1293.4-2016接觸性創面敷料第4部分:水膠體敷料
- 2023年山西文旅集團云游山西股份有限公司招聘筆試模擬試題及答案解析
- 關于生活老師現實表現總結簡述(精選6篇)
- 公務員轉任情況登記表
- 企業組織架構表
- 氣象檢測器實測項目質量檢驗報告單
- 揚塵污染控制工作臺帳(揚塵防治全套資料)
- 各科室臨床路徑(衛生部)2022
- 學習宣傳貫徹反有組織犯罪法工作經驗材料
- 大學生德育論文范文3000字
評論
0/150
提交評論