![c程序設(shè)計(jì)教程與實(shí)驗(yàn)-吉順如-實(shí)驗(yàn)一到七_(dá)第1頁](http://file4.renrendoc.com/view/4b674438618d8099fdb24ad37d168f98/4b674438618d8099fdb24ad37d168f981.gif)
![c程序設(shè)計(jì)教程與實(shí)驗(yàn)-吉順如-實(shí)驗(yàn)一到七_(dá)第2頁](http://file4.renrendoc.com/view/4b674438618d8099fdb24ad37d168f98/4b674438618d8099fdb24ad37d168f982.gif)
![c程序設(shè)計(jì)教程與實(shí)驗(yàn)-吉順如-實(shí)驗(yàn)一到七_(dá)第3頁](http://file4.renrendoc.com/view/4b674438618d8099fdb24ad37d168f98/4b674438618d8099fdb24ad37d168f983.gif)
![c程序設(shè)計(jì)教程與實(shí)驗(yàn)-吉順如-實(shí)驗(yàn)一到七_(dá)第4頁](http://file4.renrendoc.com/view/4b674438618d8099fdb24ad37d168f98/4b674438618d8099fdb24ad37d168f984.gif)
![c程序設(shè)計(jì)教程與實(shí)驗(yàn)-吉順如-實(shí)驗(yàn)一到七_(dá)第5頁](http://file4.renrendoc.com/view/4b674438618d8099fdb24ad37d168f98/4b674438618d8099fdb24ad37d168f985.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c程序設(shè)計(jì)教程與實(shí)驗(yàn)__吉順如__實(shí)驗(yàn)一到七c程序設(shè)計(jì)教程與實(shí)驗(yàn)__吉順如__實(shí)驗(yàn)一到七c程序設(shè)計(jì)教程與實(shí)驗(yàn)__吉順如__實(shí)驗(yàn)一到七資料僅供參考文件編號(hào):2022年4月c程序設(shè)計(jì)教程與實(shí)驗(yàn)__吉順如__實(shí)驗(yàn)一到七版本號(hào):A修改號(hào):1頁次:1.0審核:批準(zhǔn):發(fā)布日期:實(shí)驗(yàn)1熟悉VisualC++環(huán)境及運(yùn)行C程序一、實(shí)驗(yàn)?zāi)康?.掌握在VisualC++環(huán)境下C程序的建立、編輯、編譯和執(zhí)行過程。2.掌握C程序的最基本框架結(jié)構(gòu),完成簡(jiǎn)單程序的編制與運(yùn)行和調(diào)試。3.掌握發(fā)現(xiàn)語法錯(cuò)誤、邏輯錯(cuò)誤的方法以及排除簡(jiǎn)單錯(cuò)誤的操作技能。二、實(shí)驗(yàn)內(nèi)容1.從鍵盤輸入兩個(gè)數(shù)a和b,求它們的平方和,并在屏幕上輸出。輸入該C程序,編譯并運(yùn)行之,記下屏幕的輸出結(jié)果,以文件名保存。#include<>main(){inta,b,sum;/*定義整型變量a、b、sum*/printf("PleaseInputa,b\n");/*輸出提示信息*/scanf("%d%d",&a,&b);/*從鍵盤輸入兩個(gè)整數(shù)分別賦予a和b*/sum=a*a+b*b;/*賦值語句,把a(bǔ)2+b2的結(jié)果賦給變量sum*/printf("%d*%d+%d*%d=%d\n",a,a,b,b,sum);/*輸出語句*/}該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:PleaseInputa,b242*2+4*4=20改錯(cuò)題在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。(1計(jì)算x*y的值并將結(jié)果輸出。試糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>mainmain(){intx=2;y=3;aintx=2,y=3,a;該程序的運(yùn)行結(jié)果:a=6A=x*ya=x*y該程序的運(yùn)行結(jié)果:a=6print('a=%d",A);printf("a=%d",a);printf("\n"); }(2)下程序的功能為:求兩數(shù)中的較大數(shù)據(jù)并輸出。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>viodmain()voidmain()
{inta,b,max;Scanf(“%d,%d”,&a,&b);scanf(“%d,%d”,&a,&b);Max=a;max=a;If
(max<b)
max=b;if
(max<b)
max=b;Printf(“max=%d”,max);printf(“max=%d”,max);}該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:5,3max=53.程序填空題(1)從鍵盤輸入兩個(gè)整數(shù),輸出這兩個(gè)整數(shù)的和。根據(jù)注釋信息填寫完整程序,以實(shí)現(xiàn)其功能。以文件名保存。#include<>main(){intx,y,total;/*定義整型變量x,y,total*/printf("Pleaseinputx,y!");/*輸出提示信息*/scanf(“%d%d”,&x,&y);/*由鍵盤輸入兩個(gè)數(shù)分別賦予x和y*/total=x+y;/*賦值語句*/printf("%d+%d=%d\n",x,y,total);/*輸出兩個(gè)整數(shù)的和*/該程序的運(yùn)行結(jié)果:P該程序的運(yùn)行結(jié)果:Pleaseinputx,y!242+4=6該程序的運(yùn)行結(jié)果:Inputa,bplease!2017該程序的運(yùn)行結(jié)果:Inputa,bplease!201720-17=3#include<>main(){inta,b,m;printf("Inputa,bplease!");scanf("%d%d",&a,&b);_m=a-b;___/*賦值語句,將a和b的差值賦給m*/_printf(“%d-%d=%d\n”,a,b,m);_/*輸出a和b差的結(jié)果值后換行*/}4.編程題(1)編程序,運(yùn)行后輸出如下信息:“BetterCity,BetterLife!”。程序以文件名保存。#include<>main(){printf("BetterCity,BetterLife!\n");}(2)編程序,從鍵盤輸入3個(gè)整數(shù),輸出它們的平方和。程序以文件名保存。#include<>main(){inta,b,c,sum;printf("PleaseInputa,b,c\n");scanf("%d,%d,%d",&a,&b,&c);sum=a*a+b*b+c*c;printf("%d*%d+%d*%d+%d*%d=%d\n",a,a,b,b,c,c,sum);}該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:PleaseInputa,b,c2,3,42*2+3*3+4*4=29
實(shí)驗(yàn)2數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、實(shí)驗(yàn)?zāi)康?.理解C語言中各種數(shù)據(jù)類型的意義,掌握各種數(shù)據(jù)類型的定義方法。2.掌握C語言常量、變量的定義與使用。3.掌握C語言數(shù)據(jù)類型及運(yùn)算符的使用規(guī)則。二、實(shí)驗(yàn)內(nèi)容1.改錯(cuò)題在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。(1)下列程序的功能為:已知圓錐半徑r和高h(yuǎn),計(jì)算圓錐體積v。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。計(jì)算圓錐體積的公式為:#include#include<>main();main(){floatr=10,h=5;floatr=10,h=5,v;v=1/3**r^2*h;v=3**r*r*h;printf("v=%d\n",v)printf("v=%d\n",v);}該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:v=(2)下列程序的功能為:通過鍵盤輸入兩個(gè)整數(shù)分別存放在變量x、y中,不借用第3個(gè)變量實(shí)現(xiàn)變量x、y互換值。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>main(){ intx,y; printf("請(qǐng)輸入兩個(gè)整數(shù)\n"); scanf("%d%d",x,y);scanf("%d%d",&x,&y); printf("初始狀態(tài)下的x:%dy:%d\n",x,y);該程序的運(yùn)行結(jié)果:請(qǐng)輸入兩個(gè)整數(shù)25初始狀態(tài)下的x:2y:5最終狀態(tài)下的x:5y:2該程序的運(yùn)行結(jié)果:請(qǐng)輸入兩個(gè)整數(shù)25初始狀態(tài)下的x:2y:5最終狀態(tài)下的x:5y:2 y=x-y; x=x-y;printf("最終狀態(tài)下的x:%dy:%d/n",x,y);}2.程序填空題該程序的運(yùn)行結(jié)果:(1)計(jì)算當(dāng)x=4時(shí),公式×2x2的值。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。該程序的運(yùn)行結(jié)果:#include<>main(){floatx=,y;y=(1+x*x*x)/(x*x+4*sqrt(x)+10)*2*x*x;printf("%f",y);}(2)下列程序的功能為:從鍵盤輸入3個(gè)整數(shù)分別存入變量a、b、c,然后,將變量a的值存入變量b,將變量b的值存入變量c,將變量c的值存入變量a,輸出經(jīng)過轉(zhuǎn)存后變量a、b、c的值。(提示:使用中間變量)補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。該程序的運(yùn)行結(jié)果:Pleaseinputa,b,c:123該程序的運(yùn)行結(jié)果:Pleaseinputa,b,c:123a=3b=1c=2main(){inta,b,c,t;printf("Pleaseinputa,b,c:");scanf("%d%d%d",&a,&b,&c);t=a;a=c;c=b;b=t;printf("a=%d\nb=%d\nc=%d\n",a,b,c);}3.編程題(1)從鍵盤輸入3個(gè)大寫英文字母,把它們轉(zhuǎn)換成小寫字母后輸出。程序以文件名保存。該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:ABCabc#include<>main(){charc1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);c1=c1+32;c2=c2+32;c3=c3+32;printf("%c%c%c\n",c1,c2,c3);}(2)從鍵盤輸入3個(gè)整數(shù),輸出它們的平均值與積。程序以文件名保存。#include<>main(){ inta,b,c,ji; floatave; printf("請(qǐng)輸入3個(gè)整數(shù)\n"); scanf("%d%d%d",&a,&b,&c);ave=(a+b+c)/; ji=a*b*c;printf("ave=%f,ji=%d\n",ave,ji);}該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:請(qǐng)輸入3個(gè)整數(shù)246ave=,ji=48
實(shí)驗(yàn)3順序結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握scanf()、printf()以及其他常用輸入、輸出函數(shù)的使用。2.掌握格式控制符的使用。3.掌握順序結(jié)構(gòu)程序設(shè)計(jì)的方法。二、實(shí)驗(yàn)內(nèi)容1.改錯(cuò)題在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。該程序的運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)華氏溫度:75攝氏溫度為:(1)下列程序的功能為:輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為:C=該程序的運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)華氏溫度:75攝氏溫度為:#include<>main(){floatc,f;printf("請(qǐng)輸入一個(gè)華氏溫度:\n");scanf("%f",f);scanf("%f",&f);c=(5/9)*(f-32);c=9)*(f-32);printf("攝氏溫度為:%\n"c);printf("攝氏溫度為:%\n",c);}(2)下列程序的功能為:按下列公式計(jì)算并輸出x的值。其中a和b的值由鍵盤輸入。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。該程序的運(yùn)行結(jié)果:4,6該程序的運(yùn)行結(jié)果:4,6x=#include<>main(){inta,b;floatx;scanf("%d,%d",a,b);scanf("%d,%d",&a,&b);x=2ab/(a+b)(a+b);x=*a*b/((a+b)*(a+b));printf("x=%d\n",x);printf("x=%f\n",x);}該程序的運(yùn)行結(jié)果:aa,97A,65(3)該程序的運(yùn)行結(jié)果:aa,97A,65#include<>main(){charc1,c2;c1=getchar;c1=getchar();/*從鍵盤輸入一個(gè)小寫字母*/printf("%c,%d\n",c1,c1);c2=c1+26;c2=c1-32;/*轉(zhuǎn)換為大寫字母*/printf("%c,%d\n",c2,c2);/*輸出大寫字母及其ASCII碼值*/}2.程序填空題(1)下列程序的功能為:按給定格式輸入數(shù)據(jù),按要求格式輸出結(jié)果。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。該程序的運(yùn)行結(jié)果:enterx,y:2x+y=該程序的運(yùn)行結(jié)果:enterx,y:2x+y=輸出形式x+y=#include<>main(){intx;floaty;printf("enterx,y:");scanf("%d%f",&x,&y);printf("x+y=%.1f\n",x+y);}(2)下列程序的功能為:設(shè)圓半徑r=,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù)r、h,輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后2位數(shù)字。(周長(zhǎng)l=2,圓面積s=,圓球表面積sq=,圓球體積vq=;圓柱體積vz=),請(qǐng)補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>main(){floatpi,h,r,l,s,sq,vq,vz;pi=;printf("請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):\n");scanf("%f%f",&r,&h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=3*pi*r*r*r;該程序的運(yùn)行結(jié)果:請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):3圓周長(zhǎng)為:該程序的運(yùn)行結(jié)果:請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):3圓周長(zhǎng)為:圓面積為:圓球表面積為:圓球體積為:圓柱體積為:printf("圓周長(zhǎng)為:%.2f\n",l);printf("圓面積為:%.2f\n",s);printf("圓球表面積為:%.2f\n",sq);printf("圓球體積為:%.2f\n",vq);printf("圓柱體積為:%.2f\n",vz);}該程序的運(yùn)行結(jié)果:請(qǐng)輸入x,y:35交換后的x:5y該程序的運(yùn)行結(jié)果:請(qǐng)輸入x,y:35交換后的x:5y:3#include<>main(){intx,y,t;printf("請(qǐng)輸入x,y:\n");scanf("%d%d",&x,&y);if(x<y)/*如果x<y*/{t=x;x=y;y=t;}/*x與y交換*/printf("交換后的x:%dy:%d\n",x,y);}3.編程題(1)編寫一個(gè)程序?qū)崿F(xiàn)如下功能:從鍵盤輸入3個(gè)字符,然后在屏幕上分3行輸出該3個(gè)字符。程序以文件名保存。該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:ABCABC#include<>main(){charc1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1);putchar('\n');putchar(c2);putchar('\n');putchar(c3);putchar('\n');}(2)編寫一個(gè)程序?qū)崿F(xiàn)如下功能:輸入一元二次方程ax2+bx+c=0的系數(shù)a、b、c,求方程的根。要求:運(yùn)行該程序時(shí),輸入a、b、c的值,分別使b2-4ac的值大于、等于和小于零,觀察并分析運(yùn)行結(jié)果。程序以文件名保存。求根公式如下:該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:a=1,b=3,c=2x1=x2=.....#include<>#include<>voidmain(){floata,b,c,disc,x1,x2,p,q;scanf("a=%f,b=%f,c=%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/*a);q=sqrt(disc)/*a);x1=p+q;x2=p-q;printf("x1=%\nx2=%\n",x1,x2);}#include<>#include<>voidmain(){floata,b,c,disc,x1,x2,p,q;scanf("a=%f,b=%f,c=%f",&a,&b,&c);if(a==0) printf("不是二次方程\n"); else disc=b*b-4*a*c; if(disc<0) printf("無實(shí)根\n"); else if(disc==0) {p=-b/*a);q=sqrt(disc)/*a);x1=p+q;x2=p-q; printf("有兩個(gè)相同的實(shí)根\n"); printf("x1=%\nx2=%\n",x1,x2); } else {p=-b/*a);q=sqrt(disc)/*a);x1=p+q;x2=p-q; printf("有兩個(gè)不同的實(shí)根\n"); printf("x1=%\nx2=%\n",x1,x2); }}實(shí)驗(yàn)四選擇結(jié)構(gòu)程序設(shè)計(jì)(解答)1.改錯(cuò)題(1)下列程序的功能為:輸入1個(gè)字母,如果它是小寫字母,則首先將其轉(zhuǎn)換成大寫字母,再輸出該字母的前序字母、該字母、該字母的后序字母,例如:輸入g,則輸出FGH;輸入a,則輸出ZAB;輸入M,則輸出LMN;輸入Z,則輸出YZA。請(qǐng)糾正程序中存在錯(cuò)誤,使程序?qū)崿F(xiàn)其功能,程序以文件名保存。該程序的運(yùn)行結(jié)果:Enteracharacter:該程序的運(yùn)行結(jié)果:Enteracharacter:gFGHmain(){charch,c1,c2;printf("Enteracharacter:");ch=getchar();if((ch>='a')||(ch<='z'))該程序的運(yùn)行結(jié)果:請(qǐng)輸入3個(gè)整數(shù):5273個(gè)數(shù)中最大者為:7該程序的運(yùn)行結(jié)果:inputthemonthnumber:該程序的運(yùn)行結(jié)果:請(qǐng)輸入3個(gè)整數(shù):5273個(gè)數(shù)中最大者為:7該程序的運(yùn)行結(jié)果:inputthemonthnumber:2Feb該程序的運(yùn)行結(jié)果:da-z該程序的運(yùn)行結(jié)果:Pleaseinputaexpression:2*62*6=12該程序的運(yùn)行結(jié)果:請(qǐng)主持人輸入時(shí)尚手機(jī)的實(shí)際價(jià)格1500請(qǐng)觀眾猜時(shí)尚手機(jī)的價(jià)格1450低了printf("\nmax=%dmin=%d\n",max,min);}(2)有一分段函數(shù)如下,要求用scanf函數(shù)輸入x的值,求y值并在屏幕上輸出。程序以文件名保存。0x<5y=x-15≤x<156x2-1x≥15參考源程序#include<>voidmain(){floatx,y;scanf("%f",&x);if(x<5)y=0;elseif(x<15)y=x-1; elsey=6*x*x-1;printf("x=%f,y=%f\n",x,y);}(3)從鍵盤輸入一個(gè)數(shù)字0~6,輸出相應(yīng)星期幾的英文單詞,其中數(shù)字0對(duì)應(yīng)Sunday,數(shù)字1~6對(duì)應(yīng)Monday~Saturday,如果輸入的不是0~6的數(shù)字,則顯示錯(cuò)誤信息。程序以文件名保存。參考源程序#include<>main(){intm;printf("請(qǐng)輸入數(shù)字(0-6):");scanf("%d",&m);switch(m){case0:printf("Sunday");break;case1:printf("Monday");break;case2:printf("Tuesday");break;case3:printf("Wednesday");break;case4:printf("Thursday");break;case5:printf("Friday");break;case6:printf("Saturday");break;default:printf("數(shù)據(jù)輸入錯(cuò)誤。");}}實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的3種控制語句——while語句、do···while語句、for語句的使用方法。2.了解用循環(huán)的方法實(shí)現(xiàn)常用的算法設(shè)計(jì)。二、實(shí)驗(yàn)內(nèi)容1.改錯(cuò)題(在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。)該程序的運(yùn)行結(jié)果:Thesumfrom1to100is5050(1)下列程序的功能為:求1~100之和(和值為5050)并輸出。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存該程序的運(yùn)行結(jié)果:Thesumfrom1to100is5050#include<>main(){inti,sum=0;i=1;while(i<100)while(i<=100)sum=sum+i;{sum=sum+i;i++;i++;}printf(“Thesumfrom1to100is%d\n”,sum);}該程序的運(yùn)行結(jié)果:(2)下列程序的功能為:倒序打印26個(gè)英文字母。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能,程序以文件名保存。該程序的運(yùn)行結(jié)果:#include<>main(){charx;x='z';while(x!='a')while(x!='a'-1)或while(x>='a') {printf("%3d",x);printf("%3c",x);x++;x--;}}(3)下列程序的功能為:輸入一個(gè)大寫字母,打印出一個(gè)菱形。該菱形中間一行由此字母組成,其相鄰的上下兩行由它前面的一個(gè)字母組成,按此規(guī)律,直到字母A出現(xiàn)在第一行和最末行為止。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。例如,輸入字母D,打印出如下圖形:#include<>main(){inti,j,k;charch;scanf("%c",&ch);k=ch-'A'+1;for(i=1;i<=k;i++){for(j=20;j>=i;j--)printf("%c",'');for(j=1;j<=i-1;j++)for(j=1;j<=2*i-1;j++)printf("%c",'A'+i-1);printf("\n");}k=ch-'A';for(i=k;i>=1;i--){for(i=20;i>=i;i--)for(j=20;j>=i;j--)printf("%c",'');for(j=1;j<2*i-1;j++)for(j=1;j<=2*i-1;j++)printf("%c",'A'+i-1);printf("\n");}}2.程序填空題(1)用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能,程序以文件名保存。該程序的運(yùn)行結(jié)果:#include<>該程序的運(yùn)行結(jié)果:main(){intr,m,n,k,t;scanf("%d%d",&m,&n);if(m<n){t=m; m=n; n=t;}/*交換兩數(shù)*/k=m*n;r=m%n;while(r){m=n;n=r;r=m%n;}printf("%d%d\n",n,k/n);/*輸出最大公約數(shù)和最小公倍數(shù)*/}(2)假設(shè)有1020個(gè)西瓜,第一天賣了一半多兩個(gè),以后每天賣剩的一半多兩個(gè),求幾天后能賣完。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>main(){intday,x1,x2;day=0;x1=1020;while(x1>0){該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:day=8該程序的運(yùn)行結(jié)果:x2=x1/2-2該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:day=8該程序的運(yùn)行結(jié)果:x1=x2;day++;}printf("day=%d\n",day);}(3)下列程序的功能為:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù).補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>main(){inti,j;for(i=0;__i<10_____;i++){j=i*10+6;if(___i%3!=0____)continue;printf("%d",j);}}3.編程題(寫出程序運(yùn)行結(jié)果)(1)計(jì)算1~100之間所有含8的數(shù)之和。程序以文件名保存。參考程序:#include<>main(){inti,sum=0;for(i=1;i<=100;i++)if(i%10==8||i/10==8) sum+=i;printf("sum=%d\n",sum);}(2)編寫程序,利用下列近似公式計(jì)算e值,誤差應(yīng)小于10-5。程序以文件名保存。該程序的運(yùn)行結(jié)果:…該程序的運(yùn)行結(jié)果:參考程序:#include<>main(){inti=0;longn=1;floate=0,t=1;while(t>1e-5){e+=t; i++; n*=i; t=n;}printf("e=%f\n",e);}(3)某學(xué)校有近千名學(xué)生,在操場(chǎng)上排隊(duì),若5人一行余2人,7人一行余3人,3人一行余1人。編寫程序,求該校的學(xué)生總?cè)藬?shù)。程序以文件名保存。該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:參考程序:該程序的運(yùn)行結(jié)果:該程序的運(yùn)行結(jié)果:#include<>main(){inti;for(i=900;i<=1000;i++) if(i%5==2&&i%7==3&&i%3==1) break; printf("學(xué)生總?cè)藬?shù)=%d\n",i);}(4)從鍵盤輸入N個(gè)學(xué)生的學(xué)號(hào)和每人M門課程的成績(jī),計(jì)算每個(gè)學(xué)生的總分及平均分。輸出內(nèi)容包括每個(gè)學(xué)生的學(xué)號(hào)、總分和平均分。程序以文件名保存。#include<>voidmain(){ inti,j,n,m,no,score,sum; floatave; printf("輸入學(xué)生數(shù)和每人課程數(shù):"); scanf("%d%d",&n,&m);for(i=1;i<=n;i++){sum=0; printf("輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i); scanf("%d",&no); printf("輸入第%d個(gè)學(xué)生的%d門課程成績(jī):",i,m); for(j=1;j<=m;j++) { scanf("%d",&score); sum+=score; } ave=(float)sum/m;printf("\n**第%d個(gè)學(xué)生的學(xué)號(hào)為:%d總分為:%d平均分為:%.2f\n\n",i,no,sum,ave);}}實(shí)驗(yàn)6數(shù)組程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康恼莆找痪S數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法。掌握字符數(shù)組和字符串函數(shù)的使用。掌握與數(shù)組有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容1.改錯(cuò)題(在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。)(1)下列程序的功能為:為指定的數(shù)組輸入10個(gè)數(shù)據(jù),并求這些數(shù)據(jù)之和。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>voidmain(){intn=10,i,sum=0;inta[n];inta[10];for(i=0;i<10;i++){scanf("%d",a[i]);scanf("%d",&a[i]);sum=sum+a[i];}printf("sum=%d\n",sum);}(2)下列程序的功能為:將字符串b連接到字符串a(chǎn)。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>voidmain(){chara[]="wel",b[]="come";chara[20]="wel",b[]="come";inti,n=0;while(!a[n])n++;while(a[n]!='\0')n++;for(i=0;b[i]!='\0';i++) a[n+i]=b[i];a[n+i]=’\0’;printf("%s\n",a);}(3)下列程序的功能為:找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可能沒有鞍點(diǎn)。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>#defineN4#defineM4main(){inti,j,k,flag1,flag2,a[N][M],max,maxj;for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",&a[i][j]);flag2=0;for(i=0;i<N;i++){max=a[j][0];max=a[i][0];for(j=0;j<M;j++)if(a[i][j]>max)if(a[i][j]>=max) { max=a[i][j]; maxj=j;}for(k=0,flag1=1;k<N&&flag1;k++)if(max>a[k][maxj]) flag1=0;if(flag1){printf("\nThesaddlepointis:a[%d][%d]=%d\n",i,maxj,max);flag2=1;}}if(flag2)if(!flag2)printf("\nThereisnosaddlepointintheMatrix\n");}2.程序填空題(1)以下程序的功能是:采用二分法在給定的有序數(shù)組中查找用戶輸入的值,并顯示查找結(jié)果。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include""#defineN10main(){inta[]={0,1,2,3,4,5,6,7,8,9},k;intlow=0,high=N-1,mid,find=0;printf("請(qǐng)輸入欲查找的值:\n");scanf("%d",&k);while(low<=high){mid=(low+high)/2;if(a[mid]==k){printf("找到位置為:%d\n",mid+1);find=1;}if(a[mid]>k)_high=mid-1;else_low=mid+1_____;}if(!finD.printf("%d未找到\n",k);`}(2)以下程序的功能是:求3個(gè)字符串(每串不超過20個(gè)字符)中的最大者。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>#include<>voidmain(){charstring[20],str[3][20];inti;for(i=0;i<3;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);if(strcmp(string,str[2])<0)strcpy(string,str[2]);puts(string);}(3)下列程序的功能為:從鍵盤輸入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名保存。#include<>main(){inti,a[20],sum=0,count;count=0;for(i=0;i<20;i++)scanf("%d",&a[i]);for(i=0;i<20;i++){if(a[i]<0)continue;sum+=a[i];count++;}printf("s=%d\tcount=%d\n",sum,count);}3.編程題(寫出程序運(yùn)行結(jié)果)(1)從鍵盤輸入10個(gè)數(shù),用選擇排序法將其按由大到小的順序排序;然后在排好序的數(shù)列中插入一個(gè)數(shù),使數(shù)列保持從大到小的順序。程序以文件名存盤。#defineN11#include<>voidmain(){inta[N],i,j,k,t,p;printf("請(qǐng)輸入%d個(gè)整數(shù):\n",N);for(i=0;i<N-1;i++)scanf("%d",&a[i]);for(i=0;i<N-2;i++)//選擇排序{k=i;for(j=i+1;j<N-1;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[k];a[k]=a[i];a[i]=t;}}printf("\n排序后:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n請(qǐng)輸入插入整數(shù):");scanf("%d",&p);j=9;while(j>=0&&a[j]>p)//找插入位置{a[j+1]=a[j];j--;}a[j+1]=p;//插入printf("\n插入后:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}(2)從鍵盤輸入兩個(gè)矩陣A、B的值,求C=A+B。程序以文件名存盤。#include<>voidmain(){inta[2][3],b[2][3],c[2][3],i,j;for(i=0;i<2;i++)for(j=0;j<3;j++) scanf("%d",&a[i][j]);for(i=0;i<2;i++)for(j=0;j<3;j++) scanf("%d",&b[i][j]);for(i=0;i<2;i++)for(j=0;j<3;j++) c[i][j]=a[i][j]+b[i][j];for(i=0;i<2;i++){for(j=0;j<3;j++) printf("%3d",c[i][j]);printf("\n");}}(3)從鍵盤輸入一個(gè)字符串,刪除其中某個(gè)字符。如輸入字符串“abcdefededff”,刪除其中的字符e,則輸出的字符串為“abcdfddff”。程序以文件名存盤。//方法一:#include<>#include<>voidmain(){ inti,j; chars[80],c; printf("輸入一行字符:"); gets(s);printf("輸入要?jiǎng)h除字符:"); scanf("%c",&c); for(i=0,j=0;s[i]!='\0';i++) if(s[i]!=c) s[j++]=s[i]; s[j]='\0'; puts(s);}//方法二:#include<>#include<>voidmain(){charline[80];charch;inti,j;intlen;printf("輸入一行字符:");gets(line);printf("輸入要?jiǎng)h除字符:");ch=getchar();i=0;while(line[i]!='\0'){while(line[i]!='\0'&&line[i]!=ch)i++;len=strlen(line); for(j=i;j<len-1;j++) line[j]=line[j+1]; line[j]='\0';}puts(line);}
實(shí)驗(yàn)7函數(shù)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握函數(shù)定義的方法。掌握函數(shù)實(shí)參與形參的傳遞方式。掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。了解全局變量和局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容1.改錯(cuò)題(在程序中畫出錯(cuò)誤的語句,將修改后的語句完整地寫在該語句的右邊。)(1)下列sub函數(shù)的功能為:將s所指字符串的反序和正序進(jìn)行連接形成一個(gè)新串放在t所指的數(shù)組中。例如,當(dāng)s所指字符串的內(nèi)容為“ABCD”時(shí),t所指數(shù)組中的內(nèi)容為“DCBAABCD”。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名存盤。#include<>#include<>voidsub(chars[],chart[]){inti,d;d=strlen(s);for(i=1;i<d;i++)for(i=0;i<d;i++)t[i]=s[d-1-i];for(i=0;i<d;i++)t[d+i]=s[i];t[2*d]='/0';t[2*d]='\0'}main(){chars[100],t[100];printf("Pleaseenterstrings:");scanf("%s",s);sub(s,t);printf("\nTheresultis:%s\n",t);}(2)下列程序的功能為:將字符數(shù)組中的字符串逆序輸出。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名存盤。#include<>#include<>#defineARR_SIZE=80;#defineARR_SIZE80voidInverse(charstr[])voidInverse(charstr[]);main(){chara[ARR_SIZE];printf("Pleaseenterastring:");gets(a);Inverse(chara[]);Inverse(a); printf("Theinversedstringis:"); puts(a);}voidInverse(charstr[]){intlen,i=0,j; chartemp;len=strlen(str);for(j=len-1;i<j;i++,j--){temp=str[i];str[j]=str[i];str[i]=str[j];str[j]=temp; }}(3)下列程序的功能為:求整數(shù)n的階乘。糾正程序中存在的錯(cuò)誤,以實(shí)現(xiàn)其功能。程序以文件名存盤。#include<>intfun(intn){staticintp=1;p=p*n;returnp;}voidmain(){intn,i;intf=0;intf=1;printf("inputmember:");scanf("%d",&n);for(i=1;i<=n;i++) f=f*fun(i);f=fun(i);printf("%d!=%d\n",n,f);}2.程序填空題(1)下列sum()函數(shù)的功能是:計(jì)算數(shù)組x前n個(gè)元素之和。在主函數(shù)中,輸入10個(gè)任意整數(shù)和下標(biāo)i1、i2的值(設(shè)1≤i1≤i2≤9),調(diào)用sum()函數(shù)計(jì)算從第i1元素到第i2元素的和,并輸出結(jié)果。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名存盤。#include<>intsum(intx[],intn){ inti,s=0; for(i=0;i<n;i++) s=s+x[i]; returns;}voidmain(){ inti,i1,i2,result; intx[10]; for(i=0;i<10;i++) scanf("%d",&x[i]); scanf("%d%d",&i1,&i2); result=sum(x+i1,i2-i1+1); printf("Sum=%d\n",result);}(2)下列程序的功能為:輸入一個(gè)字符數(shù)小于100的字符串string,然后將string所存盤字符串中的每個(gè)字符之間加一個(gè)空格。補(bǔ)充完善程序,以實(shí)現(xiàn)其功能。程序以文件名存盤。#inclu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧農(nóng)業(yè)園區(qū)開發(fā)與運(yùn)營(yíng)合作協(xié)議
- 事業(yè)單位工會(huì)活動(dòng)方案
- 稅務(wù)顧問服務(wù)協(xié)議書
- 云計(jì)算服務(wù)平臺(tái)建設(shè)合同
- 樁基工程施工專業(yè)分包規(guī)定合同
- 合同付款補(bǔ)充協(xié)議書
- 煙草產(chǎn)品購(gòu)銷合同
- 公司商鋪?zhàn)赓U合同書
- 獨(dú)家代理銷售合同
- 辦公效率提升解決方案實(shí)踐
- 男方欠女方錢離婚協(xié)議書范本
- 《積極心理學(xué)(第3版)》 課件 第1章 主觀幸福感
- 2024-2030年中國(guó)匹克球市場(chǎng)前景預(yù)判與未來發(fā)展形勢(shì)分析研究報(bào)告
- 小學(xué)二年級(jí)新學(xué)期開學(xué)學(xué)生家長(zhǎng)會(huì)承上啟下的二年級(jí)模板
- LY/T 3370-2024草原術(shù)語及分類
- 2024軌道交通絕緣配合第1部分:基本要求電工電子設(shè)備的電氣間隙和爬電距離
- 《田間試驗(yàn)統(tǒng)計(jì)》課件-項(xiàng)目二 田間試驗(yàn)設(shè)計(jì)與實(shí)施
- 一年級(jí)下冊(cè)《讀讀童謠和兒歌》試題及答案共10套
- CHZ 3002-2010 無人機(jī)航攝系統(tǒng)技術(shù)要求(正式版)
- 免拆底模鋼筋桁架樓承板圖集
- 尋夢(mèng)環(huán)游記(Coco)中英文臺(tái)詞對(duì)照
評(píng)論
0/150
提交評(píng)論