版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗1簡單判定性問題求解一、實驗學時完成本實驗需4學時。二、實驗目的1、閱讀程序題(1)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型的變量,以及對它們賦值的方法;(2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律;(3)掌握數(shù)據(jù)在內(nèi)存中的存儲方式;(4)學會輸入、輸出函數(shù)的基本格式和使用方法;(5)學會使用有關(guān)算術(shù)運算符、邏輯運算符、關(guān)系運算符,以及包含這些運算符的表達式。2、編程題(1)如何運用if-else判定性結(jié)構(gòu)進行程序設(shè)計;(2)如何運用switch判定性結(jié)構(gòu)進行程序設(shè)計。3、調(diào)試題(1)熟悉C程序的編輯、編譯、連接和運行的過程。三、實驗指導為了達到最佳的實驗效果,以下提供幾條適于編程的指導意見,可供參考。1、閱讀程序題應先運用自己在課堂所學的知識,推導出結(jié)果,在上機時輸入計算機,印證自己推導的結(jié)果,注意觀察數(shù)據(jù)在內(nèi)存中的存儲方式、含不同種運算符表達式的輸出結(jié)果。2、編程題必須首先畫出流程圖,并反復思考判斷程序設(shè)計的正確性,完成程序的設(shè)計。要注意簡單判定性問題的結(jié)構(gòu)選擇。3、調(diào)試題應明確程序的調(diào)試、測試是一項非常煩瑣的工作,也是非常重要的工作。對于初學者來說應該建立良好的習慣,在調(diào)試程序的時候,應該盡可能考慮到程序運行時各種可能情況。四、實驗內(nèi)容1、閱讀程序題(1)main(){/*定義字符型變量*/charc1,c2;/*向字符變量賦以整數(shù)*/c1=97;c2=98;printf("%c%c\n",c1,c2);/*以字符形式輸出*/printf("%d%d\n",c1,c2);/*以整數(shù)形式輸出*/}該程序的輸出結(jié)果是ab(換行)9798。思考:可否改成intc1,c2;輸出結(jié)果是?相同(2)main(){inta=7,b=5;printf("%d\n",b=b/a);}該程序的輸出結(jié)果是0。思考:若將printf語句中%d變?yōu)?f,可否輸出分式的值?可以(3)main(){inta=9;a+=a-=a+a;/*包含復合的賦值運算符的賦值表達式*/printf("%d\n",a);}該程序的輸出結(jié)果是-18。思考:賦值表達式a+=a-=a+a的求解步驟?第一步:a=a-(a+a)=-9第二步a=a+a=18(4)main(){intk=-1;printf("%d,%u\n",k,k);}該程序的輸出結(jié)果是思考:-1在內(nèi)存中的存儲形式?取反加一11111111111111111111111111111111(32個)(5)main(){unsignedx1;intb=-1;x1=b;/*有符號數(shù)據(jù)傳送給無符號變量*/printf("%u",x1);}該程序的輸出結(jié)果是4294967295。思考:不同類型的整型數(shù)據(jù)相互賦值時,規(guī)則是什么?/happymawolf/article/details/6342937(有符號賦值給無符號)(6)main(){inta=3,b=4,c=5;printf("%d\n",(!(a<b))&&(c=c+1));printf("%d",c);}該程序的輸出結(jié)果是0(換行)5。思考:若將第一個printf語句中&&變?yōu)閨|,結(jié)果將如何?1(換行)6(7)main(){inta=1,b=2,c=3;if(c=a);printf("%d\n",c);elseprintf("%d\n",b);}該程序的輸出結(jié)果是1。2、編程序并上機調(diào)試運行(包括題目及要求、流程圖、程序清單、測試數(shù)據(jù)及結(jié)果)(1)將一個百分制成績轉(zhuǎn)換成等級制成績,百分制與等級制的對應關(guān)系如下表:百分制90-10080-8970-7960-69<60等級制優(yōu)良中差劣具體要求如下:用switch語句實現(xiàn)該功能;用鍵盤輸入百分制成績,輸入前要有提示信息,對于不合理的數(shù)據(jù)應輸出錯誤信息;輸出結(jié)果應包含百分制成績和成績等級;分別輸入成績-10,30,60,68,75,83,95,102,查看記錄運行結(jié)果。#include<stdio.h>#include<stdlib.h>voidmain(){#include<stdio.h>#include<stdlib.h>voidmain(){ floatscore; intlevel; printf("請輸入成績:\n"); scanf("%f",&score); if(score>100||score<0) printf("成績輸入錯誤!\n"); else { level=(int)((score-50)/10); switch(level) { case5:printf("優(yōu)\n");break; case4:printf("優(yōu)\n");break; case3:printf("良\n");break; case2:printf("中\(zhòng)n");break; case1:printf("差\n");break; default:printf("劣\n");break; } }}程序代碼流程圖見下頁測試數(shù)據(jù):100,50,-20輸出結(jié)果:優(yōu),劣,成績輸入錯誤(2)銀行整存整取存款不同期限的月息利率分別為:月息利率=月息利率=程序代碼輸入存款的本金和年限,求到期時能從銀行得到的利息與本金的合計。(利息的計算公式為:利息=本金×月息利率×12×存款年限。 程序代碼#include<stdio.h>#include<stdlib.h>voidmain()#include<stdio.h>#include<stdlib.h>voidmain(){ intnYear; floatfInput; doublefS,fOut; printf("輸入存儲年份:\n"); scanf("%d",&nYear); printf("輸入本金數(shù)額:\n"); scanf("%f",&fInput); if(fInput<0) printf("本金金額不能為負!\n"); else {switch(nYear) {case1:fS=0.63/100;break; case2:fS=0.66/100;;break; case3:; case4:fS=0.69/100;break; case5:; case6:; case7:fS=0.75/100;break; case8:fS=0.84/100;;break; default:printf("輸入錯誤!");return;} fOut=fInput+fInput*12*nYear*fS; printf("合計:%f\n",fOut);}}流程圖見下頁測試數(shù)據(jù):4,10004,-10輸出結(jié)果:133.12本金金額不能為負?。?)調(diào)試下面程序,使之具有如下功能:輸入a、b、c三個整數(shù),求最小值。main(){inta,b,c;scanf("%d%d%d",a,b,c);if((a>b)&&(a>c))if(b<c)printf("min=%d\n",b);elseprintf("min=%d\n",c);if((a<b)&&(a<c))printf("min=%d\n",a);}程序中包含有一些錯誤,按下述步驟進行調(diào)試。1)設(shè)置斷點。2)通過單步執(zhí)行,觀測變量,發(fā)現(xiàn)程序中的錯誤。程序調(diào)試記錄1、程序出現(xiàn)的錯誤及改正第四行,abc前都加&,在%d%d%d中兩個%d之間加空格;{}括住六到九行;把第十行if改成elseif;2、程序的改進1.每個<或>后加一個=;2.在程序末尾添加如下指令 elseif((a<=b)&&(a>=c)||(a>=b)&&(a<=c)) { if(b<=c) printf("min=%d\n",b); else printf("min=%d\n",c); }實驗2循環(huán)結(jié)構(gòu)及其應用一、實驗學時完成本實驗需4學時。二、實驗目的1、熟練掌握while,do—while,for語句實現(xiàn)循環(huán)的方法,包括如何正確地設(shè)定循環(huán)條件,如何控制循環(huán)的次數(shù)。2、掌握break語句與continue語句的使用方法。 3、熟悉循環(huán)的嵌套以及從循環(huán)體內(nèi)退出循環(huán)的處理。4、理解什么是循環(huán)程序結(jié)構(gòu)。三、實驗指導為了達到最佳的實驗效果,以下提供幾條適于模塊化編程的指導意見,可供參考。1、閱讀程序題應先運用自己在課堂所學的知識,推導出結(jié)果,在上機時輸入計算機,印證自己推導的結(jié)果,注意循環(huán)語句的一般使用方法,以及復合運算符的使用。2、編程題必須首先畫出流程圖,并反復思考判斷程序設(shè)計的正確性,以面向過程的、模塊化設(shè)計方法完成程序設(shè)計?!纠}解析】編寫一個程序,輸出半徑為1到10的圓的面積,若面積在40到90之間則予以輸出,否則,不予輸出。1)解題分析:解決問題的關(guān)鍵算法為求圓的面積并按要求輸出。循環(huán)求圓的面積area,若area<40,則用continue語句提前結(jié)束本次循環(huán)并開始新一輪循環(huán),若area>90,則用break語句跳出循環(huán)。2)算法流程圖如圖2-1:3)綜合分析需要從循環(huán)體中提前跳出循環(huán),或者在滿足某種條件下,不執(zhí)行循環(huán)中剩下的語句而立即從頭開始新的一輪循環(huán),這時就要用到break和continue語句。開始開始r=1輸出area結(jié)束是ir<11?否否否r=r+1是area=3.14*r*rarea<40.0?是area>90.0?圖2-1輸出半徑為1到10且面積在40到90之間的圓面積的流程圖4)程序代碼 #include<stdio.h>main(void){floatarea=0.0,pi=3.14; intr;for(r=1;r<11;r++){area=pi*r*r;if(area<40) continue; if(area>90) break; printf("area=%5.2f\n",area);}}四、實驗內(nèi)容1、閱讀程序題。#include<stdio.h>main(){intx=-1; do{x=x*x;}while(!x);printf("%x=\n",x);}該程序的輸出結(jié)果是1=。#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}該程序的輸出結(jié)果是1(換行)2(換行)3。#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf(“%d\n”,a);}該程序的輸出結(jié)果是8。#include<stdio.h>main(){inty=2,a=1;while(y--!=-1)do{a*=y;a++;}while(y--);printf(“%d,%d\n”,a,y);}該程序的輸出結(jié)果是1,-2。#include<stdio.h>#include<stdlib.h>#include<stdio.h>#include<stdlib.h>voidmain(){ inti=1,n,nResult=1; printf("請輸入n(0<n<20):\n"); scanf("%d",&n); if(n<=0||n>=20) printf("輸入錯誤\n"); else { while(i<=n) { nResult*=i; i++; } printf("%d\n",nResult); }}輸入整數(shù)n,求n?。?<n<20)。流程圖流程圖程序代碼打印出所有“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字的立方之和正好等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為153=13+53+33【提示】根據(jù)題目要求只要分別求出一個三位數(shù)的個位、十位、百位上的數(shù)字,然后判斷是否滿足(某一三位數(shù)a=a的百位的立方+a的十位的立方+a的個位的立方)這個公式,滿足這個條件的三位數(shù)就是“水仙花數(shù)”。流程圖程序代碼流程圖程序代碼#include<stdio.h>#include<stdio.h>#include<stdlib.h>voidmain(){ intn=100,a,b,c; while(n<1000) { a=n/100; b=(n-a*100)/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c) printf("%d\n",n); n++; }}一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?【提示】在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。流程圖流程圖程序代碼#include<stdio.h>#include<stdlib.h>#include<stdio.h>#include<stdlib.h>#include<math.h>voidmain(){ longintn=0,a,b; inta1,b1; while(n<=100000) { a=n+100; b=n+168; a1=(int)sqrt(a); b1=(int)sqrt(b); if((a1*a1==a)&&(b1*b1==b)) printf("%ld\n",n); n++; }}3、程序選做題猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃掉了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的總數(shù)一半零一個。到第10天早上想再吃時,見只剩一個桃子了。求第一天共摘了多少桃子。第二題#include<stdio.h>#include<stdlib.h>voidmain(){ inta=0,b=0,c=0,d; while(a<=15)第二題#include<stdio.h>#include<stdlib.h>voidmain(){ inta=0,b=0,c=0,d; while(a<=15) { for(b=0;b<=25;b++) { d=14*a+8*b; c=100-a-b; if(d==200) printf("%d,%d,%d\n",a,b,c); else continue; } a++; }}“百錢買百雞”問題:公雞每只5元,母雞每只3元,小雞每3只1元;用100元買100只雞,問公雞,母雞,小雞各買多少只?【提示】設(shè)公雞x只,母雞y只,小雞z只;則有1<=x<=18,1<=y<=31,1<=z<=98,且同時滿足5x+3y+z/3=100,x+y+z=100,z%3=0這三個條件。通過數(shù)學運算可改變條件,從而可用不同的方法來解決此問題,請嘗試不同的循環(huán)次數(shù)解決該問題。五、程序調(diào)試記錄要求:寫出題號,并編寫順序號。如四(1)出現(xiàn)的錯誤(1)······(2)······1、程序出現(xiàn)的錯誤及改正2、程序的改進實驗3模塊化設(shè)計與應用一、實驗學時完成本實驗需要4學時。二、實驗目的1、閱讀程序題(1)掌握函數(shù)實參和形參的對應關(guān)系以及“值傳遞”的方式;(2)理解函數(shù)調(diào)用的過程以及函數(shù)的返回值;(3)弄清楚帶參函數(shù)和帶參的宏之間的異同。2、編程題(1)深刻理解模塊化程序設(shè)計的思想及如何進行模塊劃分;(2)掌握定義函數(shù)的方法以及函數(shù)原型的聲明;(3)靈活運用函數(shù)調(diào)用(有參函數(shù)和無參函數(shù)、有返回值的函數(shù)和無返回值的函數(shù))。三、實驗指導為了達到最佳的實驗效果,下面提出幾點指導意見或要求以供參考:1、閱讀程序題應先運用自己在課堂所學的知識,推導出結(jié)果。上機時輸入計算機,驗證自己推導的結(jié)果是否正確。若不正確,應分析原因。2、編程題注意事項:(1)一個模塊(或函數(shù))應有一個入口點和一個退出點。(2)一般每個模塊(或函數(shù))只執(zhí)行一個任務(wù)。不要將無關(guān)的任務(wù)放于同一模塊中,只將完成同一任務(wù)的語句組合在一起。(3)先畫流程圖,后寫程序代碼;(4)變量和函數(shù)標示符盡量“見名知義”;(5)程序中應有適當注釋。3、應記錄調(diào)試程序時出現(xiàn)的錯誤,以便經(jīng)驗的積累。四、實驗內(nèi)容1、閱讀程序題(1)下面程序的輸出結(jié)果是5,8。#include<stdio.h>intf(intm){intk=2;k++;returnk+m;}voidmain(){ints;s=f(2);printf("%d,%d\n",s,f(s));}(2)下面程序的輸出結(jié)果是777。#include<stdio.h>intf(inta){intb=0;intc=3;b=b+1;c=c+1;return(a+b+c);}voidmain(){inta=2,i;for(i=0;i<3;i++)printf("%d",f(a));}(3)下面程序的輸出結(jié)果是3(空格)5。#include<stdio.h>voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}voidmain(){intx=3,y=5,*p=&x,*q=&y;swap(p,q);printf("%d%d\n",*p,*q);}(4)下面程序的輸出結(jié)果是12。#include<stdio.h>#defineM(x,y,z)x*y+zvoidmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}(5)下面程序的輸出結(jié)果是19。#include<stdio.h>intM(intx,inty,intz){intp;p=x*y+z;return(p);}voidmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}2、編程序并上機調(diào)試運行。(1)請設(shè)計一個函數(shù)fun(),它的功能是:判斷pm是否是素數(shù)。若pm是素數(shù),返回1;若不是素數(shù),返回0。pm的值由主函數(shù)從鍵盤讀入。函數(shù)fun():程序代碼流程圖程序代碼流程圖intfun(intpm){intfun(intpm){ inti=2; while(i<pm) { if(pm%i==0) { return(0); break; } else { i++; continue; } } return(1);}主函數(shù)main():程序代碼流程圖程序代碼流程圖#include<stdio.h>#include<stdio.h>#include<stdlib.h>voidmain(){ intpm; printf("請輸入要檢測的數(shù)字:\n"); scanf("%d",&pm); printf("%d\n",fun(pm));}測試數(shù)據(jù)及輸出結(jié)果:330371(2)請設(shè)計一個函數(shù)fun(),它的功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當a=45,b=12。調(diào)用該函數(shù)后,c=4152。函數(shù)fun():程序代碼流程圖 程序代碼流程圖intfun(intx,inty)intfun(intx,inty){ intc; c=x%10*10+x/10*1000+y%10+y/10*100; return(c);}#include<stdio.h>#include<stdlib.h>voidmain(){ inta,b;#include<stdio.h>#include<stdlib.h>voidmain(){ inta,b; printf("請輸入要組合的數(shù)字(都為二位數(shù)):\n"); scanf("%d%d",&a,&b); if((a<10||a>99)||(b<10||b>99)) printf("輸入數(shù)字錯誤!\n"); else printf("%d\n",fun(a,b));}流程圖程序代碼流程圖程序代碼測試數(shù)據(jù)及輸出結(jié)果:921輸入數(shù)字錯誤!21232123(3)請設(shè)計兩個函數(shù)MaxCommonFactor()和MinCommonMultiple(),它們的功能是:前者用于求兩個正整數(shù)的最大公約數(shù),后者用于求兩個正整數(shù)的最小公倍數(shù)。函數(shù)MaxCommonFactor():流程圖程序代碼 流程圖程序代碼intMaxCommonFactor(intx,inty)intMaxCommonFactor(intx,inty){ inti=1,c; while(i<=x) { if((x%i==0)&&(y%i==0)) {c=i;} i++; } return(c);}函數(shù)MinCommonMultiple():流程圖流程圖程序代碼intMinCommonMultiple(intx,inty)intMinCommonMultiple(intx,inty){ inti,c; for(i=1;i<=y;i++) { if(i*x%y==0) {c=i*x;break;} } return(c);}函數(shù)main():#include<stdio.h>#include<stdlib.h>voidmain()#include<stdio.h>#include<stdlib.h>voidmain(){ inta,b; printf("請輸入兩個正整數(shù)\n"); scanf("%d%d",&a,&b); if(a<0||b<0) printf("數(shù)字輸入錯誤!\n"); else { printf("%d\n",MaxCommonFactor(a,b)); printf("%d\n",MinCommonMultiple(a,b)); }}流程圖程序代碼測試數(shù)據(jù)及輸出結(jié)果:242(換行)4351(換行)15-15數(shù)字輸入錯誤!五、程序調(diào)試記錄要求記錄以下內(nèi)容:1、程序出現(xiàn)的錯誤及改正2、程序的改進實驗4相同數(shù)據(jù)類型集合一、實驗學時完成本實驗需4學時。二、實驗目的1、閱讀程序題(1)掌握一維和二維數(shù)組的定義、賦值和輸入輸出(2)學會使用一維數(shù)組、二維數(shù)組(3)學會使用多維數(shù)組、字符數(shù)組(4)學會使用字符串處理函數(shù)2、編程題(1)如何運用數(shù)組進行程序設(shè)計(2)了解字符串處理函數(shù)三、實驗指導為了達到最佳的實驗效果,以下提供幾條適于模塊化編程的指導意見,可供參考。1、閱讀程序題應先運用自己在課堂所學的知識,推導出結(jié)果,在上機時輸入計算機,印證自己推導的結(jié)果,注意數(shù)組下標的使用方法。2、編程題必須首先畫出流程圖,并反復思考判斷程序設(shè)計的正確性,注意數(shù)組下標不要越界(為了加深認識,自己可以嘗試一下下標越界的情況)。3、調(diào)試程序要有耐心,反復的調(diào)試過程,雖然表面看起來費時費力,但是你一定會受益非淺。四、實驗內(nèi)容1、閱讀程序題(1)main()
{charch[7]={"65ab21"};inti,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n",s);}該程序的輸出結(jié)果是6。(2)#defineMAX5main(){inta[MAX],i;for(i=0;i<5;i++)a[i]=i;printf("\n*****a*****\n");for(i=0;i<5;i++){printf("a[%d]=",i);printf("%d\n",a[i]);*****a*****a[0]=0a[1]=1a[2]=2*****a*****a[0]=0a[1]=1a[2]=2a[3]=3a[4]=4}該程序的輸出結(jié)果是。(3)#include"stdio.h"#defineN10main(){inti,j,temp;inta[N+1];intcount=0;printf("input%ddata:\n",N);for(i=1;i<=N;i++)scanf("%d",&a[i]);printf("********sortcourse********\n");for(i=1;i<=N;i++){count++;for(j=1;j<=N-i;j++)if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1]; a[j+1]=temp;}printf("%3d:",count);for(j=1;j<=N;j++)printf("%d",a[j]);printf("\n");}printf("theresultis:\n");for(i=1;i<=N;i++)printf("%d",a[i]);}該程序的輸出結(jié)果是冒泡排序顯示過程,并最終把輸入的十個數(shù)字由小到大無空格排列。(4)#include"stdio.h"#defineN20main(){intf[N],i;f[0]=1;f[1]=1;for(i=2;i<N;i++)f[i]=f[i-1]+f[i-2];printf("\n---------Fibonacci---------\n");for(i=0;i<N;i++){if(i%4==0)printf("\n\n");printf("f[%-2d]=%-5d",i,f[i]);---------Fibonacci------------------Fibonacci---------f[0]=1f[1]=1f[2]=2f[3]=3f[4]=5f[5]=8f[6]=13f[7]=21f[8]=34f[9]=55f[10]=89f[11]=144f[12]=233f[13]=377f[14]=610f[15]=987f[16]=1597f[17]=2584f[18]=4181f[19]=6765}該程序的運行結(jié)果為。(5)#include"stdio.h"main(){inti,j,temp;inta[3][3]={{11,12,13},{21,22,23},{31,32,33}};printf("---matrixa---\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n\n");}for(i=0;i<3;i++)for(j=0;j<i;j++){temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}printf("---matrixachanged---\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%3d",a[i][j]);---matrixa---111213212223---matrixa---111213212223313233---matrixachanged---112131122232132333}}該程序的輸出結(jié)果是。(6)#include"stdio.h"main(){chars[40];inti;printf("inputstring:");for(i=0;(s[i]=getchar())!='\n';i++);s[i]='\0';printf("\noutputstring:");for(i=0;s[i]!='\0';i++){if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32;elseif(s[i]>='A'&&s[i]<='Z') s[i]=s[i]+32;printf("%c",s[i]);}#include"stdio.h"main(){ ints[3][4]; inti=0,j=0,nHelp; printf("請按順序輸入12個數(shù)字,以空格或回車分隔:\n"); while(i<=2)#include"stdio.h"main(){ ints[3][4]; inti=0,j=0,nHelp; printf("請按順序輸入12個數(shù)字,以空格或回車分隔:\n"); while(i<=2) { for(j=0;j<=3;j++) {scanf("%d",&s[i][j]);} i++;} printf("\n"); for(i=0;i<=2;i++) { for(j=0;j<=3;j++) {printf("%d",s[i][j]);} printf("\n"); } printf("\n\n"); for(i=0;i<3;i++) { for(j=1;j<4;j++) { if(s[i][j]>s[i][0]) { nHelp=s[i][0]; s[i][0]=s[i][j]; s[i][j]=nHelp; }}} for(i=0;i<=2;i++) { for(j=0;j<=3;j++) { printf("%d",s[i][j]); } printf("\n"); }}2、編程序并上機調(diào)試運行(包括題目及要求、流程圖、程序清單、測試數(shù)據(jù)及結(jié)果)(1)編寫一個3*4矩陣,找出每行中最大元素并與第一列元素交換。具體要求如下:(a)使用二維數(shù)組存放該3*4矩陣;(b)定義并初始化該二維數(shù)組;(c)輸出原矩陣和變換后的矩陣進行比較;(d)有必要的提示信息。程序代碼流程圖程序代碼流程圖見下頁(2)編程實現(xiàn)如下功能:將字符數(shù)組str1中的全部字符拷貝到字符數(shù)組str2中,具體要求如下:(a)不能使用字符串拷貝函數(shù)strcpy();(b)必須將str1中的字符串結(jié)束標志‘\0’一起拷貝,但其后的字符不拷貝;(c)str1的長度不超過80,str2的長度必須足夠大;(d)有必要的提示信息。。程序代碼#include<stdio.h>#include<string.h>voidmain(){程序代碼#include<stdio.h>#include<string.h>voidmain(){ charstr1[80],str2[90]; inti; printf("輸入字符串:\n"); gets(str1); printf("\n"); for(i=0;str1[i]!='\0';i++) { str2[i]=str1[i]; } str2[i]='\0'; puts(str2);}流程圖(3)設(shè)某班共有10名學生,為了平定某門課程的獎學金,按照規(guī)定超過全班平均成績10%者發(fā)給一等獎,超過全班平均成績5%者發(fā)給二等獎。編寫程序,輸出學生學號、成績和獎學金等級。流程圖流程圖程序代碼 voidOutput(intnArr[][2])voidOutput(intnArr[][2]){ intAverS=0; inti; for(i=0;i<10;i++) AverS+=nArr[i][1]; AverS=AverS/10; printf("學號成績獎學金等級\n"); for(i=0;i<10;i++) {if(nArr[i][1]>AverS*1.1) printf("%d%d一等獎\n",nArr[i][0],nArr[i][1]); elseif((nArr[i][1]>(AverS*1.05))&&(nArr[i][1]<AverS*1.1)) printf("%d%d二等獎\n",nArr[i][0],nArr[i][1]); }}見下頁主函數(shù)中調(diào)用代碼:voidmain(){ intnArr[10][2]; inti,j; printf("請按照學號、成績的順序依次輸入數(shù)據(jù):\n"); for(i=0;i<10;i++) {for(j=0;j<2;j++) {scanf("%d\n",&nArr[i][j]); }} Output(nArr);}五、程序調(diào)試記錄(1)調(diào)試下面程序。#defineN10main(){inti,num,data[]={12,15,23,29,30,31,34,45,56,70};/*num存放被查找的整數(shù),數(shù)組data存放有序數(shù)列*/intlow=0,high=N-1,mid;/*low、high和mid分別標記查找區(qū)間的下界和上界及中間位置*/printf("\npleaseinputnum:\n");scanf("%d",&num);/*輸入要查找的整數(shù)*/printf("thesortednumbersare:\n");for(i=1;i<N;i++)printf("%d",data[i]);/*輸出有序數(shù)列*/while(low<=high)/*使用折半法查找數(shù)據(jù)*/{mid=(low+high)/2;if(num==data[mid])printf("\nFind%d,itisdata[%d]!",num,mid);break;/*若num等于數(shù)列中間位置的數(shù)據(jù)則查找成功*/elseif(num>data[mid])low=mid+1;/*若num小于中間位置的數(shù)據(jù),low等于mid-1*/elsehigh=mid-1;/*若num大于中間位置的數(shù)據(jù),low等于mid+1*/}if(low>high)printf("\n%disnotindata[]",num);/*若low大于high,則查找失敗*/}程序中包含有一些錯誤,按下述步驟進行調(diào)試。程序調(diào)試記錄1、程序出現(xiàn)的錯誤及改正1.用{}把十四十五行括起來2.第十行i=1改成i=0;3.十九到二十三行注釋有問題;2、程序的改進1.把七八九三行與十十一兩行換一下位置,方便用戶操作;實驗5深入模塊化設(shè)計與應用一、實驗學時完成本實驗需4學時。二、實驗目的1、閱讀程序題(1)學會使用函數(shù)嵌套調(diào)用的使用方法(2)學會使用一維數(shù)組做為函數(shù)參數(shù)(3)遞歸調(diào)用的設(shè)計與使用(4)學會使用指針做為函數(shù)的參數(shù)2、編程題(1)如何運用指針進行程序設(shè)計(2)如何以一維數(shù)組、二維數(shù)組做為函數(shù)參數(shù)進行程序設(shè)計(3)冒泡排序、選擇排序的靈活應用三、實驗指導為了達到最佳的實驗效果,以下提供幾條適于模塊化編程的指導意見,可供參考。1、閱讀程序題應先運用自己在課堂所學的知識,推導出結(jié)果,在上機時輸入計算機,印證自己推導的結(jié)果,注意觀察函數(shù)嵌套調(diào)用、一維數(shù)組做為函數(shù)參數(shù)、指針做為函數(shù)的參數(shù)、遞歸調(diào)用的使用方法。2、編程題必須首先畫出流程圖,并反復思考判斷程序設(shè)計的正確性,以面向過程的、模塊化設(shè)計方法完成程序設(shè)計。要注意變量設(shè)置、函數(shù)參數(shù)及返回值在數(shù)據(jù)傳遞或共享中的重要作用。四、實驗內(nèi)容1、閱讀程序題(1)intfunc(inta,intb) {return(a+b);} voidmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d\n”,r);}該程序的輸出結(jié)果是15。(2)intf(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}voidmain(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf(“%d\n”,x);}該程序的輸出結(jié)果是120。(3)longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}voidmain(){printf(“%d\n”,fib(3));}該程序的輸出結(jié)果是4。(4)intf(char*s){intk=0;while(*s)k=k*10+*s++-‘0’;return(k);}以f(“1234”)方式調(diào)用該函數(shù),結(jié)果1234。 (5)voidsort(int*b,intn) { inti,j,k,t; for(i=0;i<n-1;i++){ k=i;for(j=i+1;j<n;j++) if(*(b+j)<*(b+k))k=j;if(k!=i){t=*(b+i);*(b+i)=*(b+k);*(b+k)=t;} }} voidmain() { int*p,i,a[10]; p=a; for(i=0;i<10;i++) scanf(“%d”,p++);p=a; sort(p,10); for(p=a,i=0;i<10;i++,p++) printf(“%d”,*p); printf(“\n”);}該程序的輸出結(jié)果是將輸入數(shù)字按照從小到大順序排列后組成一個新數(shù)字。2、編程序并上機調(diào)試運行(包括題目及要求、流程圖、程序清單、測試數(shù)據(jù)及結(jié)果)(1)編寫一個函數(shù)fun(char*s),函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的內(nèi)容為abcdefg,則調(diào)用該函數(shù)后,字符串中的內(nèi)容為gfedcba。#include<stdio.h>#include<string.h>main(){ chars[100],nTemp;#include<stdio.h>#include<string.h>main(){ chars[100],nTemp; inti,j; printf("請輸入:\n"); gets(s); j=strlen(s)-1; for(i=0;i/j==0;i++) { nTemp=s[i]; s[i]=s[j]; s[j]=nTemp; j--; } puts(s);}程序代碼(2)構(gòu)造函數(shù)InputName(charStudName[][8]),將8名同學的姓名存入二維數(shù)組中;構(gòu)造函數(shù)BubbleSort(charStudName[][8]),用冒泡排序算法按學生的姓名進行排序;構(gòu)造函數(shù)OutputName(charStudName[][8]),將排序后的結(jié)果輸出。函數(shù)InputName(charStudName[][8])流程圖voidInputName(charStudName[][8]){ inti; for(i=0;i<8;i++) {流程圖voidInputName(charStudName[][8]){ inti; for(i=0;i<8;i++) { gets(StudName[i]); }}程序代碼函數(shù)OutputName(charStudName[][8])流程圖流程圖程序代碼voidOutputName(charvoidOutputName(charStudName[][8]){ inti; for(i=0;i<8;i++) { puts(StudName[i]); }}函數(shù)BubbleSort(charStudName[][8])voidBubbleSort(charStudName[][8]){ inti,j;voidBubbleSort(charStudName[][8]){ inti,j; charnTemp[8]; for(i=0;i<=7;i++) {for(j=0;j<=7-i;j++) { if((strcmp(StudName[j],StudName[j+1])>0)) {strcpy(nTemp,StudName[j]); strcpy(StudName[j],StudName[j+1]); strcpy(StudName[j+1],nTemp);}}}}流程圖程序代碼主函數(shù)中調(diào)用代碼:#include<stdio.h>#include<stdlib.h>#include<string.h>voidmain(){ charStudName[2][8]; InputName(StudName); BubbleSort(StudName); OutputName(StudName);}測試數(shù)據(jù):abdgefcs輸出結(jié)果:abcdefgs(3)構(gòu)造函數(shù)Input(charStudNo[][8],floatScore[8]),將8名同學的姓名存入二維數(shù)組中;構(gòu)造函數(shù)SelectSort(floatScore[8]),用選擇排序算法按學生的成績進行排序;構(gòu)造函數(shù)Output(charStudNo[][8],floatScore[8]),將排序后的結(jié)果輸出。函數(shù)Input(charStudNo[][8],floatScore[8])流程圖程序代碼 流程圖程序代碼voidInput(charStudNo[][8],floatScore[8])voidInput(charStudNo[][8],floatScore[8]){ inti; for(i=0;i<8;i++) { scanf("%s",&StudNo[i]); scanf("%f",&Score[i]); }}函數(shù)SelectSort(floatScore[8])流程圖流程圖程序代碼voidSelectSort(floatScore[8])voidSelectSort(floatScore[8]){ inti,j,s; floatfTemp; for(i=0;i<7;i++) { s=i; for(j=i+1;j<7;j++) { if(Score[s]<Score[j]) s=j; } if(s!=i) {fTemp=Score[i]; Score[i]=Score[s]; Score[s]=fTemp; }}}函數(shù)Output(charStudNo[][8],floatScore[8])流程圖流程圖程序代碼voidOutput(charStudNo[][8],floatScore[8])voidOutput(charStudNo[][8],floatScore[8]){ inti; for(i=0;i<8;i++) { printf("%s",StudNo[i]); printf("%3.1f",Score[i]); printf("\n"); }}主函數(shù)中調(diào)用代碼:#include<stdio.h>#include<stdlib.h>main(){ charStudNo[2][8]; floatScore[8]; Input(StudNo,Score); SelectSort(Score); Output(StudNo,Score);}測試數(shù)據(jù):a12b1c23d21e4f34g7h23輸出結(jié)果:a1(換行)b4(換行)c7(換行)d12(換行)e21(換行)f23(換行)g23(換行)h34五、程序調(diào)試記錄要求:寫出題號,并編寫順序號。如四(1)出現(xiàn)的錯誤(1)······(2)······1、程序出現(xiàn)的錯誤及改正2、程序的改進實驗6構(gòu)造數(shù)據(jù)類型一、實驗學時完成本實驗需3學時。二、實驗目的1、閱讀程序題(1)學會結(jié)構(gòu)體與共用體存儲空間的計算(2)學會結(jié)構(gòu)體與共用體的嵌套定義2、編程題(1)學會結(jié)構(gòu)體變量的定義和引用(2)學會結(jié)構(gòu)體數(shù)組的定義和引用(3)學會結(jié)構(gòu)體作為函數(shù)返回值及函數(shù)參數(shù)三、實驗指導作為一種用戶自定義數(shù)據(jù)類型,必須首先進行結(jié)構(gòu)體和共用體類型的定義(不分配空間),在定義了其類型之后才可以定義該結(jié)構(gòu)體(共用體)類型的變量、數(shù)組或指針(分配空間)。結(jié)構(gòu)體變量定義之后,即可像簡單數(shù)據(jù)類型變量一樣來使用。在實際編程中,要具體體會:結(jié)構(gòu)體變量、共用體變量的成員引用方法。結(jié)構(gòu)體變量、共用體變量的存儲空間計算方法。3、結(jié)構(gòu)體、共用體與指針、數(shù)組、函數(shù)的關(guān)系。四、實驗內(nèi)容1、閱讀程序題(1)typedefunion{ longi;intk[5];charc;}DATE;structdate{ intcat;DATEcow;doubledog;}too;DATEmax;main(){ printf("%d",sizeof(structdate)+sizeof(max));}該程序的輸出結(jié)果是:52。(2)main(){ unionbt{ intk; charc[2]; }a; a.k=-7; printf("%o,%o\n",a.c[0],a.c[1]);}該程序的輸出結(jié)果是:377777777771,37777777777。(3)main(){ unionexample { struct { intx; inty; }in; inta; intb; }e; e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf("%d,%d",e.in.x,e.in.y);}該程序的輸出結(jié)果是4,8。2、編程序并上機調(diào)試運行(包括題目及要求、流程圖、程序清單、測試數(shù)據(jù)及結(jié)果)(1)制作一個簡單的通訊錄,輸入姓名和電話,將其保存在結(jié)構(gòu)體數(shù)組中,通過輸入姓名,可查詢到某個人的電話,如果姓名為空則列出所有人的姓名與電話。查詢模塊流程圖錄入模塊流程圖查詢模塊流程圖錄入模塊流程圖主程序流程圖主程序流程圖程序清單程序清單#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stdio.h>#include<stdlib.h>#include<string.h>structdata{ charname[3]; intnumber[7];}*phonebook;voidInput(){ inti,j,s; for(i=0;i<101;i++) { for(j=0;j<7;j++) {phonebook[i].number[j]=0; phonebook[i].name[j]='\0'; }} printf("請輸入通訊錄中記錄數(shù):\n"); scanf("%d",&s); printf("Inputtheinformation(7位number+換行+name+#):\n"); for(i=0;i<s;i++) { for(j=0;j<7;j++) scanf("%d",&phonebook[i].number[j]); for(j=0;j<3;j++) scanf("%c",&phonebook[i].name[j]); }}intSearch(structdata*x,chary[3]){ inti,find=0; for(i=1;i<101;i++) { if(strcmp(x[i].name,y)==0) find=i; } return(find);}voidmain(){ phonebook=(structdata*)malloc(sizeof(structdata*)*101); charSname[3]; intnCount,j; for(j=0;j<7;j++) Sname[j]='\0'; Input(); printf("Inputthenamewhichisexpectedtobefound:\n"); gets(Sname); nCount=Search(phonebook,Sname); if(nCount==0) { for(j=1;j<101;j++) {puts(phonebook[j].name); printf(""); printf("%d\n",phonebook[j].number); }} else { puts(phonebook[nCount].name); printf(""); printf("%d\n",phonebook[nCount].number); } free(phonebook);}測試數(shù)據(jù)及輸出結(jié)果測試數(shù)據(jù)及輸出結(jié)果五、程序調(diào)試記錄要求:寫出題號,并編寫順序號。如四(1)出現(xiàn)的錯誤(1)······(2)······1、程序出現(xiàn)的錯誤及改正2、程序的改進實驗7綜合設(shè)計與應用一、實驗學時完成本實驗需4學時。二、實驗目的1、熟悉數(shù)組、指針和函數(shù)的綜合編程方法;2、鏈表的建立和使用;三、實驗指導程序1中,用到了一維數(shù)組作為函數(shù)參數(shù),程序2用到了指向二維數(shù)組的行指針作函數(shù)參數(shù),程序3用到了指向二維數(shù)組的列指針作函數(shù)參數(shù),程序4用到了動態(tài)內(nèi)存分配實現(xiàn)動態(tài)數(shù)組。程序5涉及鏈表的建立、輸出及節(jié)點的插入。四、實驗內(nèi)容1、編程序并上機調(diào)試運行(要求給出流程圖、程序清單、測試數(shù)據(jù)及運行結(jié)果)假設(shè)每班人數(shù)最多不超過40人,具體人數(shù)由鍵盤輸入,試編程打印最高分及其學號。程序1:用一維數(shù)組和指針變量作函數(shù)參數(shù),編程打印某班一門課成績的最高分和學號。程序2:用二維數(shù)組和指針變量作函數(shù)參數(shù),編程打印3個班學生(假設(shè)每班4個學生)的某門課成績的最高分,并指出具有該最高分成績的學生是第幾個班的第幾個學生。程序3:用指向二維數(shù)組第0行第0列元素的指針作函數(shù)參數(shù),編寫一個能計算任意m行n列的二維數(shù)組中的最大值,并指出其所在的行列下標值的函數(shù),利用該函數(shù)計算3個班學生(假設(shè)每班4個學生)的某門課成績的最高分,并指出具有該最高分成績的學生是第幾個班的第幾個學生。程序4:編寫一個能計算任意m行n列的二維數(shù)組中的最大值,并指出其所在的行列下標值的函數(shù),利用該函數(shù)和動態(tài)內(nèi)存分配方法,計算任意m個班、每班n個學生的某門課成績的最高分,并指出具有該最高分成績的學生是第幾個班的第幾個學生。程序5:按如下方法定義一個時鐘結(jié)構(gòu)體類型:structline{intnum;structline*next;};然后,請建立一個有9個節(jié)點的鏈表,要求鏈表節(jié)點的成員num的值依次分別為1-9的整數(shù),每建立一個節(jié)點都將之插入到原頭節(jié)點前面,使新節(jié)點變成頭節(jié)點,最后輸出num值為偶數(shù)的節(jié)點。程序1程序清單:#include<stdio.h>#include<stdlib.h>#include<stdio.h>#include<stdlib.h>#include<string.h>voidOutputmax(intx[40],longint*a){ int s=0,j; for(j=1;j<40;j++) { if(x[s]<x[j]) s=j; } printf("最高分是:%d\n",x[s]); printf("該生學號:%d\n",*(a+s));} voidmain(){ longintnumber[40],*pointer; inti,j,Score[40]; printf("輸入班級人數(shù)(<40)\n"); scanf("%d",&i); pointer=number; printf("輸入學號和成績\n"); for(j=0;j<i;j++) { scanf("%d%d\n",pointer+j,&Score[j]); } Outputmax(Score,pointer);}程序2程序清單:printf("%d班%d號:%d\n",i,*m+1,max);}}printf("%d班%d號:%d\n",i,*m+1,max);}}intfun(inta[],int*m){intj,max;max=a[0];for(j=0;j<4;j++)if(max<a[j]){max=a[j];*m=j;}return(max);}#include<stdio.h>intmain(){inti,j,score[3][4],max,*m,s=0;intfun(inta[],int*m);m=&s;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&score[i][j]);for(i=0;i<3;i++){max=fun(score[i],m);程序3程序清單:#include<stdio.h>voidOutputmax(intx[3][4],int*a)#include<stdio.h>voidOutputmax(intx[3][4],int*a){ int j,i,r,s,m,n;r=0;s=0;printf("請輸入要查找的班級數(shù)和每班人數(shù):\n");scanf("%d%d",&m,&n);for(i=0;i<m;i++){for(j=0;j<n;j++) if(*a<*(a+i*n+j)){a=a+i*n+j;r=i;s=j;}}printf("最高分是:%d\n",*(a+i*4+j));printf("該生是%d班第%d個學生",r+1,s+1);}voidmain(){ intnScore[3][4],*pointer,i,j; pointer=nScore[0]; printf("依次輸入成績\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d\n",*pointer+i*4+j); Outputmax(nScore,pointer);}程序4程序清單:#include<stdio.h>#include<stdlib.h>#include<stdio.h>#include<stdlib.h>#include<string.h>intOutputmax(int*a,intp,intq){ int s=0,r=0,j,i;for(i=0;i<p;i++){ for(j=0;j<q;j++){ if((*(a+r*p+s))<(*(a+i*p+j))){r=i;s=j;}} }return(r+1,s+1,*(a+r*p+s));}voidmain(){ inti,j,m,n,Score[40][40],*pointer; printf("依次輸入成績\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d%d\n",&Score[i][j]); printf("輸入要查找的班級及每班人數(shù):\n"); scanf("%d%d",&m,&n); pointer=(int*)malloc(sizeof(int)*m*n); printf("最高分是%d班%d位同學的分數(shù)%d\n",Outputmax(pointer,m,n));}程序5程序清單: pHead->num=j; for(j=8;j>0;j--) pHead->num=j; for(j=8;j>0;j--) { pNew=(structline*)malloc(sizeof(structline*)); pNew->num=j; pNew->next=pHead; pHead=pNew; } pFind=pHead; while(pFind!=NULL) { if((pFind->num)%2==0) printf("%d",pFind->num); }}#include<stdio.h>#include<stdlib.h>#include<string.h>structline{ intnum; structline*next;}*pHead,*pNew,*pFind;voidmain(){ intj; j=9; pHead=NULL; pHead=(structline*)malloc(sizeof(structline*));五、程序調(diào)試記錄1、程序出現(xiàn)的錯誤及改正2、程序的改進實驗8數(shù)據(jù)永久性存儲用一、實驗學時完成本實驗需3學時。二、實驗目的1、閱讀程序題學習文件指針的概念,熟悉并掌握各種基本文件操作函數(shù),以及如何進行文件基本操作。2、編程題(1)如何運用文件指針進行文件的打開、關(guān)閉操作;了解常用的文件打開模式;了解文件存儲的相對路徑和絕對路徑的區(qū)別(2)了解各種文件打開方式、字符讀寫、字符串讀寫、數(shù)據(jù)塊讀寫等不同函數(shù)之間的區(qū)別以及實現(xiàn)方式。3、作為全書最后一章,本章的實驗內(nèi)容結(jié)合了前面幾章的知識,培養(yǎng)學生的綜合編程能力。三、實驗指導本章內(nèi)容相對固定,沒有給初學者更多的靈活發(fā)揮空間,因此相對容易掌握;但同時本章涉及到的基本文件操作函數(shù)較多,而且要求能夠準確運用。因此本章實驗需要注意以下幾點。1、上機前要求熟悉各種文件讀寫函數(shù),包括參數(shù)、返回值、調(diào)用方式以及功能,必要的時候需要一點點“死記硬背”(本課程大部分內(nèi)容沒有這種要求)。在上機時通過讀程序和實際編程,鞏固對上述函數(shù)的功能和使用方法的了解。2、編程題的測試數(shù)據(jù)要求學生自己構(gòu)建,在構(gòu)建文件時要注意多嘗試各種可能發(fā)生的情況,例如特殊字符;中英文字符混合;空行等等,觀察程序的運行結(jié)果。四、實驗內(nèi)容1、閱讀程序題(1)#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}執(zhí)行后輸出結(jié)果是1230。(2)有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);語句的作用是使位置指針從文件尾向前移2*sizeof(int)字節(jié))#include<stdio.h>main(){FILE*fp;inti,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int).SEEK_END);fread(&b,sizeof(int),1,fp);fclose(fp);printf("%d\n",b);}執(zhí)行后輸出結(jié)果是3。(3)#include<stdio.h>voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運行后,文件t1.dat中的內(nèi)容是end。2、編程序并上機調(diào)試運行(包括題目及要求、流程圖、程序清單、測試數(shù)據(jù)及結(jié)果)(1)某英漢詞典文件包含N個記錄(N>1),每個記錄有兩個字段:一個是英文單詞,另一個是相應的漢語解釋。各個記錄按英文單詞的詞典順序排列,各英文單詞并不重復。要求編寫一個用于維護、更
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PLC控制技術(shù)考試模擬題(含答案)
- 養(yǎng)老院環(huán)境保護管理制度
- 交通安全教育課件
- 《打造學習型團隊》課件
- 2024年新能源項目投資委托居間合同范本3篇
- 教育合同范本
- 2024年度特殊工種委托招聘與職業(yè)安全防護用品供應合同3篇
- 臨床靜脈留置針護理及并發(fā)癥
- 2024年度綠色有機食材供應合作協(xié)議2篇
- 2024天津出租車租賃車輛安全性能檢測合同3篇
- 2024年儲能白皮書
- 美團代運營合同模板
- DZ∕T 0173-2022 大地電磁測深法技術(shù)規(guī)程(正式版)
- 氣管插管術(shù)評分標準
- 《土木工程測量(第2版)》習題解答
- 2024年時事政治熱點題庫單選題200道及答案【易錯題】
- EPLAN 電氣設(shè)計基礎(chǔ)與應用 第2版 課件全套 第1-10章 EPLAN P8概述- 報表生成
- 全國養(yǎng)老護理職業(yè)技能大賽養(yǎng)老護理員賽項考試題庫-上(單選題)
- 博士期間科研規(guī)劃
- 倉管員年度述職報告總結(jié)
- 初中英語七選五經(jīng)典5篇(附帶答案)
評論
0/150
提交評論