C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告完整版_第1頁
C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告完整版_第2頁
C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告完整版_第3頁
C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告完整版_第4頁
C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告完整版_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

..C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告學(xué)院:機(jī)械工程學(xué)院班級:機(jī)自161213姓名:劉昊學(xué)號(hào):20162181310實(shí)驗(yàn)時(shí)間:2017年3月6號(hào)任課老師:張銳C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一一、實(shí)驗(yàn)名稱:C程序的運(yùn)行環(huán)境和運(yùn)行C程序的方法二、實(shí)驗(yàn)?zāi)康模毫私庠贑編譯系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序三、實(shí)驗(yàn)內(nèi)容:<1>.輸入并運(yùn)行一個(gè)簡單的C程序。<2>.設(shè)計(jì)程序,對給定的兩個(gè)數(shù)求和。<3>.設(shè)計(jì)程序,對給定的兩個(gè)數(shù)進(jìn)行比較,然后輸出其中較大的數(shù)。四、源程序代碼:代碼1:運(yùn)行結(jié)果1:程序分析1:該程序用來判斷所輸入的整數(shù)是否為一個(gè)素?cái)?shù),如果一個(gè)數(shù)能被除了1和它本身整除,還能被其它數(shù)整除,那么它就不是一個(gè)素?cái)?shù),因此,用for循環(huán)來進(jìn)行整除過程的簡寫。代碼2:運(yùn)行結(jié)果2:程序分析2:簡單的使用printf<>和scanf<>函數(shù)進(jìn)行簡單的數(shù)據(jù)運(yùn)算。代碼3:運(yùn)行結(jié)果3:程序分析3:使用if語句進(jìn)行判斷。五.實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)二一、實(shí)驗(yàn)名稱:順序結(jié)構(gòu)程序設(shè)計(jì)二、實(shí)驗(yàn)?zāi)康模赫_使用常用運(yùn)算符〔算術(shù)運(yùn)算符、賦值運(yùn)算符的用法,熟練掌握算術(shù)運(yùn)算符及其表達(dá)式,邏輯運(yùn)算符和邏輯表達(dá)式。三、實(shí)驗(yàn)內(nèi)容:<1>.編寫程序,實(shí)現(xiàn)小寫字母轉(zhuǎn)大寫。<2>.編寫程序,實(shí)現(xiàn)輸入兩個(gè)不同類型數(shù)據(jù)后,經(jīng)過適當(dāng)?shù)倪\(yùn)算〔加、減、乘、除后輸出。<3>.編寫程序,計(jì)算三角形面積、立方體的體積和表面積、圓的面積和周長。<4>.編寫程序,實(shí)現(xiàn)單字符getchar和putchar輸入輸出。<5>.編寫程序,實(shí)現(xiàn)十進(jìn)制、八進(jìn)制、十六進(jìn)制不同數(shù)制的輸出。四、源程序代碼代碼1:運(yùn)行結(jié)果1:程序分析1:所有的字符都有一個(gè)對應(yīng)的數(shù)字與之對應(yīng),每一個(gè)小寫字母對應(yīng)的數(shù) 與大寫字母對應(yīng)的數(shù)之間總是相差32,所以只需要對所輸入的字符進(jìn)行減 法運(yùn)算就可以轉(zhuǎn)換為與之對應(yīng)的大寫字母。代碼2:運(yùn)行結(jié)果2:程序分析2:簡單的數(shù)據(jù)運(yùn)算和格式字符的輸出。代碼3:運(yùn)行結(jié)果3:程序分析3:簡單的數(shù)據(jù)運(yùn)算實(shí)現(xiàn)相應(yīng)的功能。代碼4:運(yùn)行結(jié)果4:程序分析4:getchar函數(shù)的返回值是用戶輸入的第一個(gè)字符的ASCII碼,如出錯(cuò)返回-1,且將用戶輸入的字符回顯到屏幕.代碼5:運(yùn)行結(jié)果5:程序分析5:重要的是格式字符的使用,%d〔輸出十進(jìn)制整型數(shù)%o〔以八進(jìn)制 格式輸出整形數(shù)%x〔以十六進(jìn)制格式輸出整型數(shù)%f〔以帶小數(shù)點(diǎn)的形 式輸出浮點(diǎn)數(shù)%c〔輸出一個(gè)字符%s〔輸出字符串,直到遇到\0五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三一、實(shí)驗(yàn)名稱:選擇結(jié)構(gòu)程序設(shè)計(jì)二、實(shí)驗(yàn)?zāi)康模赫_使用邏輯運(yùn)算符和邏輯表達(dá)式,熟練掌握if語句和switch語句,學(xué)習(xí)調(diào)試程序。三、實(shí)驗(yàn)內(nèi)容:<1>.編寫程序,用if語句編程實(shí)現(xiàn)一分段函數(shù)的求解。<2>.用if語句編寫程序,求一元二次方程的根。<3>.用switch語句編寫程序,給出一個(gè)百分制成績,要求輸出成績等級A、B、C、D、E。90分以上為A,80—90分為B,70――79分為C,60――69分為D,60分以下為E>。<4>.用switch語句編寫程序,輸入一小于6位數(shù)的整數(shù),判斷它是幾位,并逆序輸出。<5>.用if語句編寫程序,判斷某一年是否為閏年。四、源程序代碼代碼1運(yùn)行結(jié)果1:程序分析1:使用if函數(shù)對不同的輸入?yún)?shù)進(jìn)行不同的算術(shù)運(yùn)算。代碼2:運(yùn)行結(jié)果2:程序分析2:運(yùn)用math庫函數(shù)中的根號(hào)運(yùn)算sqrt<>函數(shù)實(shí)現(xiàn)求根公式的表達(dá)。代碼3:運(yùn)行結(jié)果3:程序分析3:運(yùn)用switch語句對所有的情況分開,注意如果沒有break語句,那么判斷到要執(zhí)行的case后,其后面的語句也要執(zhí)行。代碼4:運(yùn)行結(jié)果4:程序分析4:重要的是判斷一個(gè)數(shù)幾位數(shù)的算法:每次對10取整,記錄一次,降低了一位位數(shù),直到取整位0就降到了一位數(shù),計(jì)數(shù)完畢。然后,對于不同的基數(shù)值,輸出相應(yīng)的判斷結(jié)果。代碼5:運(yùn)行結(jié)果5:程序分析5:重要的是閏年判斷條件"四年一閏,百年不閏;四百年一閏"的c語言表示:i%4==0&&i%100!=0||i%400==0;五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四一、實(shí)驗(yàn)名稱:循環(huán)控制程序設(shè)計(jì)二、實(shí)驗(yàn)?zāi)康模赫莆赵诔绦蛟O(shè)計(jì)中使用循環(huán)的方法實(shí)現(xiàn)一些常用算法〔如:窮舉、迭代和遞推等。三、實(shí)驗(yàn)內(nèi)容:<1>.分別用while語句、do-while語句和for語句編寫程序,求。<2>.用while語句編寫程序,對輸入一行字符的字母、數(shù)字、空格和其他字符的個(gè)數(shù)分別予以統(tǒng)計(jì),并輸出。<3>.用for或while語句編寫程序,輸出所有的水仙花數(shù)。<4>.用for語句編寫程序,找出100-200間的所有素?cái)?shù)。<5>.用for語句編寫程序,實(shí)現(xiàn)規(guī)定圖案的輸出。四、源程序代碼代碼1運(yùn)行結(jié)果1:程序分析1:三種循環(huán)語句的使用。代碼2:運(yùn)行結(jié)果2:程序分析2:代碼3:運(yùn)行結(jié)果3:程序分析3:重要的是如何使用取整,取余運(yùn)算符將一個(gè)數(shù)的每一位取出來。代碼4:運(yùn)行結(jié)果4:程序分析4:重要的是,素?cái)?shù)的判斷條件的c表達(dá):如果對于小于其本身的能能夠把其整除,說明其不是一個(gè)素?cái)?shù),反之則為素?cái)?shù)。代碼5:運(yùn)行結(jié)果5:程序分析5:重要的是發(fā)現(xiàn)打印空格和字符個(gè)數(shù)與打印第n行之間的數(shù)字關(guān)系,根據(jù)數(shù)量關(guān)系,利用for循環(huán)實(shí)現(xiàn)循環(huán)打印。五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)五一、實(shí)驗(yàn)名稱:函數(shù)二、實(shí)驗(yàn)?zāi)康模赫莆蘸瘮?shù)形參和實(shí)參的對應(yīng)關(guān)系;以及"值傳遞"的方式,掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。三、實(shí)驗(yàn)內(nèi)容:<1>.通過無參函數(shù)實(shí)現(xiàn)多行字串的輸出;<2>.通過有參函數(shù)數(shù)據(jù)傳遞,用函數(shù)來實(shí)現(xiàn):〔a兩個(gè)數(shù)比較,輸出其中較大的數(shù);〔b對給定的兩個(gè)數(shù)求和;<3>.編寫程序,用函數(shù)的嵌套調(diào)用來實(shí)現(xiàn)輸入4個(gè)數(shù),找出其中最大的數(shù)。<4>.編寫程序,用函數(shù)遞歸調(diào)用,計(jì)算n!;<5>.寫一個(gè)判素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。四、源程序代碼代碼1:#include<stdio.h>voidfun1<char*b>{ inti; for<i=0;i<7;i++> { printf<"%c",b[i]>; } printf<"\n">;}voidfun2<char*d>{ intj; for<j=0;j<7;j++> { printf<"%c",d[j]>; }}main<>{ chara[8]={'A','B','C','D','E','F','G'}; charc[8]={'H','I','J','K','L','M','N'}; fun1<a>; fun2<c>;}運(yùn)行結(jié)果1:程序分析1:執(zhí)行兩次同樣的輸出函數(shù)。代碼2:#include<stdio.h>voidfun1<double*b,double*d>{ doublemax; max=*b; if<*d>*b> { max=*d; } printf<"兩個(gè)數(shù)中較大的數(shù)是%f\n",max>;}voidfun2<double*b,double*d>{ doublej; j=*b+*d; printf<"%f+%f=%f\n",*b,*d,j>;}main<>{ doublea,c; printf<"請輸入兩個(gè)數(shù),數(shù)據(jù)之間用空格隔開\n">; scanf<"%lf%lf",&a,&c>; fun1<&a,&c>; fun2<&a,&c>;}運(yùn)行結(jié)果2:程序分析2:將兩個(gè)功能通過兩個(gè)函數(shù)來單獨(dú)完成,有利于程序的閱讀。代碼3:#include<stdio.h>intmax<intn1,intn2>;intmain<>{ inti,j,k,l,m,n,o; printf<"請輸入四個(gè)數(shù)<用空格隔開>\n">; scanf<"%d%d%d%d",&i,&j,&k,&l>; m=max<i,j>; n=max<k,l>; o=max<m,n>; printf<"四個(gè)數(shù)中最大的數(shù)為%d\n",o>; return0;}intmax<intn1,intn2>{ if<n1>n2> { returnn1; } else { returnn2; }}運(yùn)行結(jié)果3:程序分析3:代碼4:#include<stdio.h>longjc<intm>;main<>{ intn,jg; printf<"-----該程序用來計(jì)算階乘-----\n">; printf<"你要計(jì)算的是幾的階乘就輸入幾\n">; scanf<"%d",&n>; jg=jc<n>; printf<"%d的階乘是%d\n",n,jg>; }longjc<intm>{ if<m==0> { return1; } else { returnm*jc<m-1>; }}運(yùn)行結(jié)果4:程序分析4:5!=5*4*3*2*15!=5*4??;4!=4*3?。?!=3*2??;2!=2*1??;1!=1*0??;0!=1;實(shí)現(xiàn)函數(shù)的直接遞歸調(diào)用,并且遞歸使用的是選擇結(jié)構(gòu),一定會(huì)有結(jié)束遞歸調(diào)用的語句,例如上題中if<m==0>的執(zhí)行語句:return1;就結(jié)束了再次調(diào)用函數(shù)jc函數(shù)。代碼5:運(yùn)行結(jié)果5:程序分析5:只需要傳遞一個(gè)簡單的整形數(shù)據(jù)即可,注意功能函數(shù)〔里的變量一定要注明類型。五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)六一、實(shí)驗(yàn)名稱:一維和二維數(shù)組二、實(shí)驗(yàn)?zāi)康模赫莆张c數(shù)組有關(guān)的排序算法:冒泡排序和選擇排序。三、實(shí)驗(yàn)內(nèi)容:<1>.用一維數(shù)組,對給定的一組數(shù)據(jù)逆序輸出。<2>.用一維數(shù)組,對10個(gè)數(shù)進(jìn)行由小到大的冒泡排序。<3>.用二維數(shù)組,求一個(gè)矩陣中的最大數(shù)據(jù)元素及所在的行列位置。<4>.用一維數(shù)組,對10個(gè)數(shù)進(jìn)行由小到大的選擇排序。<5>.用二維數(shù)組,求一個(gè)矩陣的轉(zhuǎn)置矩陣。四、源程序代碼代碼1:#include<stdio.h>main<>{ inti,j,m,t,a[100]; printf<"請輸入一維數(shù)組的元素個(gè)數(shù)<注意:數(shù)組元素個(gè)數(shù)最多為100>:\n">; scanf<"%d",&m>; j=m-1; printf<"請輸入一維數(shù)組的元素<注意:每輸入一個(gè)數(shù)據(jù)按回車再輸入下一個(gè)數(shù)據(jù)>:\n">; for<i=0;i<m;i++> { scanf<"%d",&a[i]>; } printf<"你所輸入一維數(shù)組為:">; for<i=0;i<m;i++> { printf<"%d\t",a[i]>; } printf<"\n">; if<m%2==0> { printf<"該一維數(shù)組逆序輸出為:">; for<i=0;i<m/2;i++> { t=a[i]; a[i]=a[j]; a[j]=t; j--; } } if<m%2!=0> { printf<"該一維數(shù)組逆序輸出為:">; for<i=0;i<<m-1>/2;i++> { t=a[i]; a[i]=a[j]; a[j]=t; j--; } } for<i=0;i<m;i++> { printf<"%d\t",a[i]>; } }運(yùn)行結(jié)果1:程序分析1:代碼2:#include<stdio.h>main<>{ inti,j,m,t,a[100]; printf<"請輸入一維數(shù)組的列數(shù)<注意:列數(shù)最多為100>:\n">; scanf<"%d",&m>; printf<"請輸入一維數(shù)組的元素<注意:每輸入一個(gè)數(shù)據(jù)按回車再輸入下一個(gè)數(shù)據(jù)>:\n">; for<i=0;i<m;i++> { scanf<"%d",&a[i]>; } printf<"你所輸入的一維數(shù)組為:\n">; for<i=0;i<m;i++> { printf<"%d\t",a[i]>; } for<i=1;i<m;i++> { for<j=0;j<m-i;j++> { if<a[j]>a[j+1]> { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } printf<"\n">; printf<"你所輸入的一維數(shù)組由小到大排序?yàn)椋篭n">; for<i=0;i<m;i++> { printf<"%d\t",a[i]>; }}運(yùn)行結(jié)果2:程序分析2:代碼3:#include<stdio.h>main<>{ inti,j,m,n,p=1,o=1,max1,a[100][100]; printf<"請輸入二維數(shù)組的行數(shù)<注意:行數(shù)最多為100>:\n">; scanf<"%d",&m>; printf<"請輸入二維數(shù)組的列數(shù)<注意:列數(shù)最多為100>:\n">; scanf<"%d",&n>; printf<"請輸入二維數(shù)組的元素<注意:每輸入一個(gè)數(shù)據(jù)按回車再輸入下一個(gè)數(shù)據(jù),一行輸入完后,再輸入下一行>:\n">; for<i=0;i<m;i++> { for<j=0;j<n;j++> { scanf<"%d",&a[i][j]>; } } printf<"你所輸入的二維數(shù)組為:\n">; for<i=0;i<m;i++> { for<j=0;j<n;j++> { printf<"%d\t",a[i][j]>; if<j==n-1> { printf<"\n">; } } } max1=a[0][0]; for<i=0;i<m;i++> { for<j=0;j<n;j++> { if<a[i][j]>max1> { max1=a[i][j]; o=j+1; p=i+1; } } } printf<"該數(shù)組中最大的數(shù)為%d\n其位于該數(shù)組的第%d行第%d列",max1,p,o>; }運(yùn)行結(jié)果3:程序分析3:代碼4:#include<stdio.h>main<>{ inti,j,m,t,a[100]; printf<"請輸入一維數(shù)組的列數(shù)<注意:列數(shù)最多為100>:\n">; scanf<"%d",&m>; printf<"請輸入一維數(shù)組的元素<注意:每輸入一個(gè)數(shù)據(jù)按回車再輸入下一個(gè)數(shù)據(jù)>:\n">; for<i=0;i<m;i++> { scanf<"%d",&a[i]>; } printf<"你所輸入的一維數(shù)組為:\n">; for<i=0;i<m;i++> { printf<"%d\t",a[i]>; } for<i=0;i<m;i++> { for<j=i+1;j<m;j++> { if<a[j]<a[i]> { t=a[i]; a[i]=a[j]; a[j]=t; } } } printf<"\n">; printf<"你所輸入的一維數(shù)組由小到大排序?yàn)椋篭n">; for<i=0;i<m;i++> { printf<"%d\t",a[i]>; }}運(yùn)行結(jié)果4:程序分析4:代碼5:#include<stdio.h>main<>{ inti,j,m,n,t,a[100][100]; printf<"請輸入二維數(shù)組的行數(shù)<注意:行數(shù)最多為100>:\n">; scanf<"%d",&m>; printf<"請輸入二維數(shù)組的列數(shù)<注意:列數(shù)最多為100,因?yàn)槭蔷仃?要求行數(shù)等于列數(shù)>:\n">; scanf<"%d",&n>; printf<"請輸入二維數(shù)組的元素<注意:每輸入一個(gè)數(shù)據(jù)按回車再輸入下一個(gè)數(shù)據(jù),一行輸入完后,再輸入下一行>:\n">; for<i=0;i<m;i++> { for<j=0;j<n;j++> { scanf<"%d",&a[i][j]>; } } printf<"你所輸入的二維數(shù)組為:\n">; for<i=0;i<m;i++> { for<j=0;j<n;j++> { printf<"%d\t",a[i][j]>; if<j==n-1> { printf<"\n">; } } } for<i=0;i<m-1;i++> { for<j=i+1;j<n;j++> { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } printf<"你所輸入的二維數(shù)組轉(zhuǎn)置后為:\n">; for<i=0;i<m;i++> { for<j=0;j<n;j++> { printf<"%d\t",a[i][j]>; if<j==n-1> { printf<"\n">; } } }運(yùn)行結(jié)果5:程序分析5:五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)七一、實(shí)驗(yàn)名稱:字符數(shù)組和字符串二、實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)字符數(shù)組的輸入/輸出和初始化;掌握對字符數(shù)組進(jìn)行連接、復(fù)制和比較的函數(shù),掌握對字符數(shù)組進(jìn)行排序的有關(guān)算法;了解字符串變量及字符串?dāng)?shù)組的使用技巧。三、實(shí)驗(yàn)內(nèi)容:<1>.用一維字符數(shù)組,實(shí)現(xiàn)字符數(shù)組的輸入/輸出和初始化,及對字符數(shù)組進(jìn)行連接、復(fù)制和比較運(yùn)算。<2>.用一維字符數(shù)組,對輸入一行字符的字母、數(shù)字、空格和其他字符的個(gè)數(shù)分別予以統(tǒng)計(jì),并輸出。<3>.用二維字符數(shù)組,實(shí)現(xiàn)輸出鉆石圖形。<4>.用二維字符數(shù)組,對8個(gè)姓氏進(jìn)行由小到大的冒泡排序<或選擇排序>。<5>.用字符串?dāng)?shù)組,輸入輸出一組學(xué)生的簡單信息。四、源程序代碼代碼1:#include<stdio.h>#include<string.h>voidfun1<char*g,char*h>{ inti,j,k; printf<"a,b兩個(gè)數(shù)組比較的結(jié)果為;\n">; j=strlen<g>; k=strlen<h>; for<i=0;i<j;i++> { printf<"%c",g[i]>; } printf<"-----">; for<i=0;i<k;i++> { printf<"%c",h[i]>; } printf<"\t">; printf<"%d",strcmp<g,h>>; printf<"\n">;}voidfun2<char*c,char*d>{ strcat<c,d>; printf<"a,b兩個(gè)字符數(shù)組連接后的結(jié)果為:\n">; puts<c>; printf<"\n">;}voidfun3<char*e,char*f>{ intm,i; strcpy<e,f>; printf<"把b字符數(shù)組復(fù)制粘貼到a字符數(shù)組后兩個(gè)數(shù)組元素的情況為:\n">; m=strlen<e>; for<i=0;i<m;i++> { printf<"a[%d]=%c\t",i,e[i]>; } printf<"\n">; m=strlen<f>; for<i=0;i<m;i++> { printf<"b[%d]=%c\t",i,f[i]>; } }main<>{ chara[100],b[100]; inti,m; printf<"請輸入第一個(gè)字符數(shù)組中的元素<注意:字符個(gè)數(shù)不得超過100,字符串結(jié)束符也占一個(gè)存儲(chǔ)空間>\n">; gets<a>; printf<"a字符數(shù)組為:\n">; m=strlen<a>; for<i=0;i<m;i++> { printf<"a[%d]=%c\t",i,a[i]>; } printf<"\n">; printf<"請輸入第二個(gè)字符數(shù)組中的元素<注意:字符個(gè)數(shù)不得超過100,字符串結(jié)束符也占一個(gè)存儲(chǔ)空間>\n">; gets<b>; printf<"b字符數(shù)組為:\n">; m=strlen<b>; for<i=0;i<m;i++> { printf<"a[%d]=%c\t",i,b[i]>; } printf<"\n">; printf<"\n">; fun1<a,b>; printf<"\n">; fun2<a,b>; printf<"\n">; fun3<a,b>; }運(yùn)行結(jié)果1:代碼2:#include<stdio.h>intmain<>{ printf<"請輸入字符串,按回車鍵結(jié)束\n">; charstr[100]; inti=0; intnum=0,ch=0,blank=0,other=0; gets<str>; while<str[i]!='\0'> { if<<str[i]>='A'&&str[i]<='Z'>||<str[i]>='a'&&str[i]<='z'>> { ch++; } else { if<str[i]>='0'&&str[i]<='9'> { num++; } else { if<str[i]==''> { blank++; } else { other++; } } }i++;}printf<"數(shù)字%d個(gè),字母%d個(gè),空格%d個(gè),其他%d個(gè)\n",num,ch,blank,other>;return0;}運(yùn)行結(jié)果2:程序分析2:代碼3:#include<stdio.h>intmain<>{ inti,j,m=0,n=7; chara[5][8]; for<i=0;i<5;i++> { for<j=0;j<8;j++> { a[i][j]=''; } } for<j=1;j<7;j++> { a[0][j]='*'; } for<i=1;i<5;i++> { a[i][m]='*'; a[i][n]='*'; m++; n--; } for<i=0;i<5;i++> { for<j=0;j<8;j++> { printf<"%c",a[i][j]>; } printf<"\n">; } return0;}運(yùn)行結(jié)果3:代碼4:#include<string.h>#include<stdio.h>intmain<>{inti,j;chara[100][100],t[100];printf<"--對8個(gè)姓氏進(jìn)行由小到大的冒泡排序--\n">;printf<"請依次輸入姓氏的拼音\n">;for<i=0;i<8;i++>{printf<"請輸入第%d個(gè)姓氏的拼音:",i+1>;gets<a[i]>;}for<i=0;i<8-1;i++>{for<j=0;j<8-i-1;j++>if<strcmp<a[j],a[j+1]>>0>{strcpy<t,a[j]>;strcpy<a[j],a[j+1]>;strcpy<a[j+1],t>;}}printf<"對8個(gè)姓氏進(jìn)行由小到大進(jìn)行重新排序的結(jié)果為:\n">;for<i=0;i<8;i++>puts<a[i]>;return0;}運(yùn)行結(jié)果4:程序分析4:代碼5:#include<string.h>#include<stdio.h>intmain<>{inti,j;chara[100][100]; printf<"請輸入學(xué)生的姓名:">; gets<a[0]>;printf<"請輸入學(xué)生的性別:">;gets<a[1]>;printf<"請輸入學(xué)生的年齡:">;gets<a[2]>;printf<"請輸入該學(xué)生的學(xué)號(hào)">;gets<a[3]>;printf<"該學(xué)生的簡明信息為:\n">;printf<"姓名\t性別\t年齡\t學(xué)號(hào)\n">;for<i=0;i<4;i++>{ printf<"%s\t",a[i]>; }return0;}運(yùn)行結(jié)果5:五、實(shí)驗(yàn)總結(jié)C語言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)八一、實(shí)驗(yàn)名稱:指針二、實(shí)驗(yàn)?zāi)康模耗苷_使用數(shù)組的指針和指向數(shù)組的指針變量,以及字符串的指針和指向字符串的指針變量。三、實(shí)驗(yàn)內(nèi)容:<1>.用指針和函數(shù)通過地址傳遞,實(shí)現(xiàn)輸入三個(gè)數(shù),按照由大到小的順序輸出;<2>.使用指向數(shù)組的指針變量,實(shí)現(xiàn)數(shù)組元素的輸出<3>.用一個(gè)函數(shù)實(shí)現(xiàn)兩個(gè)字符的比較,函數(shù)原型為:intstrcmp<char*p1,char*p2>;<4>.兩個(gè)字符串s1,s2由main<>函數(shù)輸入,strcmp函數(shù)的返回值也由main<>函數(shù)輸出;<5>.用指針數(shù)組,實(shí)現(xiàn)對字符串進(jìn)行由小到大的選擇排序;用指向指針的指針,實(shí)現(xiàn)字符串的輸出。四、源程序代碼代碼1:#include<stdio.h>#include<malloc.h>intmain<void>{ intlen=3,i,j,Temp; //printf<"請輸入你要建立一個(gè)多大的數(shù)組len=">; //scanf<"%d",&len>; int*p=<int*>malloc<sizeof<int>*len>; printf<"請輸入三個(gè)整數(shù)\n">; for<i=0;i<len;i++> { scanf<"%d",&p[i]>; } for<i=0;i<2;i++> { for<j=i+1;j<3;j++> { if<p[j]>p[i]> { Temp=p[i]; p[i]=p[j]; p[j]=Temp; } } } printf<"你所輸入的整數(shù)按照從大到小的順序排序?yàn)椋篭n">; for<i=0;i<len;i++> { printf<"%d\t",p[i]>; } free<p>; p=NULL; return0;}運(yùn)行結(jié)果1:代碼2:#include<stdio.h>#include<malloc.h>intmain<void>{ intlen,i; printf<"請輸入你要建立一個(gè)多大的數(shù)組len=">; scanf<"%d",&len>; int*p=<int*>malloc<sizeof<int>*len>; printf<"請輸入數(shù)組元素\n">; for<i=0;i<len;i++> { scanf<"%d",&p[i]>; } printf<"你所輸入的數(shù)組為:\n">; for<i=0;i<len;i++> { printf<"%d\t",p[i]>; } free<p>; p=NULL; return0;}運(yùn)行結(jié)果2:代碼3:#include<stdio.h>//當(dāng)不包含頭文件<string.h>時(shí),strcmp〔函數(shù)就是一個(gè)自定義的函數(shù),因此本題的目的在于編寫一個(gè)標(biāo)準(zhǔn)函數(shù)intstrcmp<char*s1,char*s2>;voidmain<>{charstr1[21],str2[21];printf<"第一段字符為<最長為20>:">;gets<str1>;printf<"\n第二段字符為〔最長為20>:">;gets<s

溫馨提示

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

評論

0/150

提交評論