c語言實驗四報告,湖北理工學院14本科C語言實驗報告實驗四數組

253b171540df25e1b84436cbe50dfc72.gif湖北理工學院14本科C語言實驗報告實驗四 數組.doc

實驗四 數 組實驗課程名C語言程序設計專業班級 14電氣工程2班 學號 201440210237 姓名 熊帆 實驗時間 5.12-5.26 實驗地點 K4-208 指導教師 祁文青 一、實驗目的和要求1. 掌握一維數組和二維數組的定義、賦值和輸入輸出的方法;2. 掌握字符數組和字符串函數的使用;3. 掌握與數組有關的算法(特別是排序算法)。二、實驗內容1. 調試下列程序,使之具有如下功能輸入10個整數,按每行3個數輸出這些整數,最后輸出10個整數的平均值。寫出調試過程。include stdio.hdefine N 10void main int i,aN,av;fori0;iN;i scanfd,ai;fori0;iN;i printfd,ai; ifi30 printfn;fori0;iN;iavai;printfavfn,av;解答(1) 源代碼 includestdio.hdefine N 10void mainint i,aN;float av0;fori0;iN;iscanfd, printfn;fori0;iN;iprintf3d,ai;ifi130printfn;fori0;iN;iavai;printfn;avav/N;printfn;printfavfn,av;(2)運行結果 (3) 運行結果分析原程序中有若干處錯誤,分別為av這個變量應該定義為float型,scanf語句中輸入數組的時候,在它前面應該加上地址符 scanfd,d,d,d,d, a ; for i 0; i 4; i sum ai; printfsum d n, sum;該程序中有哪些錯誤如何修改寫出正確運行后的結果。解答(1) 源代碼includestdio.hvoid mainint i,a5,sum0;fori0;i4;iscanfd,fori0;i4;isumai;printfsumdn,sum;(2) 運行結果 (3) 運行結果分析原程序中的scanf語句是錯的,應該采用for語句循環輸入,還要把a換成ai,并在前面加上地址符static int a34 1,2,3,4, 9,8,7,6, -10,10,-5,2; printf Max d, Row d, Colum d n, max, row, colum;解答(1) 源代碼includestdio.hvoid mainint i,j,row,colum,max;static int a34 1,2,3,4, 9,8,7,6, -10,10,-5,2; maxa00;fori0;i3;iforj0;j4;jifmaxaijmaxaij;rowi1; columj1;printfMaxd,Rowd,Columdn,max,row,colum;(2) 運行結果 (3) 運行結果分析應該對原本不完整的程序作這樣的補充,加上兩個for循環語句,以實現找出數組中最大的元素。并用row和column分別儲存行標和列標,但要注意1。4. 數組中已存互不相同的10個整數,從鍵盤輸入一個整數,輸出與該值相同的數組元素下標。解答(1) 源代碼 includestdio.hvoid main int i,x,a101,2,3,4,5,6,7,8,9,10; scanfd, fori0;i10;i printf4d,ai; printfn; fori0;i10;i ifxai break; ifi10 printf該元素的下標為dn,i; else printf該數組中沒有 dn,x;(2) 運行結果 (3) 運行結果分析數組中已存互不相同的10個整數1,2,3,4,5,6,7,8,9,10。驗證程序的時候分別輸入了7和19,并且正確地輸出了下標或輸出結果。如上面兩張圖所示。5. 編寫程序,任意輸入10個整數的數列,先將整數按照從大到小的順序進行排序,然后輸入一個整數插入到數列中,使數列保持從大到小的順序。解答(1) 源代碼includestdio.hvoid mainint a11,i,j,x,temp;printf請輸入10個整數n;fori0;i10;iscanfd,forj0;j9;jfori0;i9-j;iifaiai1排序,交換tempai1;ai1ai;aitemp;fori0;i10;iprintfd ,ai;printfn;printf請再輸入一個整數;scanfd,fori0,j0;i10;iifaixxai1ji;break;elsecontinue;fori0;ij1;iprintfd ,ai;輸出插入點前的數字tempaj1; aj1x;printfd ,aj1;輸出插入點的數字aj1temp;fori0;i9-j;i移位交換a10-ia9-i;fori0;i9-j;iprintfd ,aij2;輸出插入點后的數字printfn;(2)運行結果 (3)運行結果分析運行程序時輸入了這樣10個整數6 11 9 15 68 23 2 32 50 28。經過程序中排序部分的作用,將10個整數按從大到小的順序排序為68 50 32 28 23 15 11 9 6 2。和預期是一致的,再輸入一個數,以26為例,26位于28和23之間,于是按照程序變插入到28和23之間,最后輸出68 50 32 28 26 23 15 11 9 6 26. 輸入十個互不相同的整數并存在數組中,找出最大元素,并刪除。解答(1) 源代碼includestdio.hvoid mainint a10,i,m,t,n;printf輸入十個互不相同的整數n;fori0;i10;iscanfd,na0;printf刪除其中最大的數之后n;fori1;i10;iifnainai;mi;tm;forim;i9;iaiai1;a9t;fori0;i9;iprintfd ,ai;printfn;(2)運行結果 (3) 運行結果分析在運行程序的時候,輸入了如圖所示的十個不同的整數,經過程序的執行,刪除其中最大的數97,再將剩下的9個數輸出來。7. 以下程序的功能是從鍵盤上輸入若干個學生的成績,統計計算出平均成績,并輸出低于平均分的學生成績,用輸入負數結束輸入。請填空include stdio.hvoid main float x1000, sum0.0, ave, a; int n0, i; printf Enter mark n ; scanff, while a0.0 n1000 sum ; xn ; n; scanff, ave ; printf Output n; printf ave fn, ave; for i0; in; i if printffn, xi;解答(1) 源代碼includestdio.hvoid mainfloat x1000,sum0.0,ave,a;int n0,i;printfEnter mark n ;scanff, whilea0.0n1000 suma; xna;n; scanff, avesum/n;printf Output n;printf ave fn, ave; fori0;in;i if xiave printffn,xi;(2)運行結果 (3) 運行結果分析運行程序的時候輸入了如上圖所示的10個分數,根據while語句中的內容,故可以把-1作為輸入結束的標志。接下來再作相應的運算,結果均與事實相符。8. 綜合編程題打印如下楊輝三角形1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 解答(1) 源代碼includestdio.hvoid mainint a66,i,j;fori0;i6;iforj0;ji;jifi1aij1;elseifjij0aij1;ifj0ijaijai-1j-1ai-1j;printf下面的是楊輝三角形n;fori0;i6;iforj0;ji;jprintf4d,aij;printfn; (2)運行結果 (3) 運行結果分析運用二維數組的定義和for循環來實現輸出楊輝三角形。9. 調試下列程序,使之具有如下功能任意輸入兩個字符串如“abc 123”和“china”,并存放在a,b兩個數組中。然后把較短的字符串放在a數組,較長的字符串放在b數組。并輸出。include stdio.hinclude string.h void main char a10,b10; int c,d,k,ch; scanfs, scanfs, printfas,bsn,a,b; cstrlena; dstrlenb; ifcd fork0;kd;k chak;akbk;bkch; printfasn,a; printfbsn,b; 解答(1) 源代碼 include stdio.hinclude string.h void main char a10,b10; int c,d,k,ch; scanfs, scanfs, printfas,bsn,a,b; cstrlena; dstrlenb; ifcd fork0;kc;k chak; akbk; bkch; bk0; printfasn,a; printfbsn,b;(2)運行結果 (3) 運行結果分析原程序中,應該把for語句中的kd改為kc,再就是在輸出最終結果之前可令bk0,以避免輸出結果中出現亂碼的情況。運行程序的時候,輸入a為一個較長的字符串,b較短,然后二者會進行交換,輸出結果如上圖所示。10. 閱讀下面的程序,然后回答后面的問題include stdio.hinclude string.h void main char s180, s240; int i 0, j 0; printf n Please string1; scanfs, s1; printf n Please string2; scanfs, s2; while s1i 0 i; while s2j 0 s1is2j ; s1i 0; printfn New string s, s1;編輯、運行該程序,然后分別輸入Country 和side。請問程序執行的結果是什么輸出Countryside該程序的功能是什么將第二個字符串連接到第一個字符串的后面從而組成一個新的字符串解答(1) 源代碼include stdio.hinclude string.h void main char s180, s240; int i 0, j 0; printf n Please string1; scanfs, s1; printf n Please string2; scanfs, s2; while s1i 0 i; while s2j 0 s1is2j ; s1i 0; printfn New string s, s1; printfn;(2)運行結果 (3) 運行結果分析運行程序的時候先輸入Country,再輸side,經過程序的運行,實現了將side連接到Country的后面形成新的單詞Countryside,即實現了將第二個字符串連接到第一個字符串的后面從而組成一個新的字符串的功能。11. 填空完成下面程序,使其功能是對從鍵盤上輸入的兩個字符串進行比較,然后輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如輸入的兩個字符串分別為abcdefg和abceef,則輸出為-1。程序如下 include stdio.h void main char str1100,str2100; int i,s; printfn string 1n;getsstr1; printf“n string 2n”;getsstr2; i 1 ; whilestr1istr2istr1i 2 i; s 3 ; printfdn,s; 解答(1) 源代碼includestdio.h void main char str1100,str2100; int i,s; printfn string 1n;getsstr1; printfn string 2n;getsstr2; i0; whilestr1istr2istr1i0 i; sstr1i-str2i; printfdn,s;(2)運行結果 (3) 運行結果分析運行程序時先輸入hey boys,再輸入hey girls,兩個字符串中第一個不相同字符分別為b和g,ASCII碼值相差-5,與事實相符。12. 填空完成下面程序,使其的功能是統計從終端輸入字符中每個大寫字母的個數。用號作為輸入結束標志。程序如下 include stdio.h include ctype.h void main int num26,i; char c; for i0;i26;i numi0; while (1) /* 統計從終端輸入的大寫字母個數*/ if isupperc numc-65 (2) ; for i0;i26;i /* 輸出大寫字母和該字母的個數*/ if numiprintfcdn,i (3) ,numi; 解答(1) 源代碼includestdio.hincludectype.hvoid main int num26,i; char c; fori0;i26;i numi0; whilecgetchar ifisupperc numc-651; fori0;i26;i ifnumiprintfcdn,i65,numi;(2)運行結果 (3) 運行結果分析運行程序的時候輸入的字符串為CYUYANCNA,經過程序的運行,統計出的個字母的數量與事實是相符的。13. 編寫程序,輸入若干個字符串,求出每個字符串的長度,并打印最長一個字符串的內容。以“stop”作為輸入的最后一個字符串。解答(1) 源代碼 includestdio.h includestring.h void mainchar a2020;int i0,t0,b,c;printf請輸入字符串吧n;while1scanfs,ai;bstrlenai;printf3d,b;iftbtb;ci; ifai0s ai1t ai2o ai3p ai40break;i;printfn;printf最長的是sn,ac; (2)運行結果 (3) 運行結果分析我輸入了一個英語句子,程序統計出來了各個單詞的字母數,并且指出了最長的單詞tomorrow,與事實是一致的。14.編寫程序,輸入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f處插入字符串s2。如輸入BEIJING、123和位置3,則輸出BEI123JING123。解答(1) 源代碼includestdio.hincludestring.hvoid mainchar s120,s220,t120,t220;int i,j,n,f;printf請輸入n;scanfssd,s1,s2,nstrlens1;fori0;if;it1is1i;t1i0;strcatt1,s2;forj0;jn-f;jt2js1i;i;t2j0;strcatt1,t2;strcatt1,s2;printfsn,t1;(2)運行結果 三、結論(寫本次實驗的收獲)本次實驗主要涉及數組與for循環語句的使用,從中可以體會到對for語句的靈活運用非常高。而且要注意數組的輸入輸出問題,以及字符串數組及相關的函數的使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388535.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388535.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388535.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言宏定義

一. #define是C語言中提供的宏定義命令,其主要目的是為程序員在編程時提供一定的方便,并能在一定程度上提高程序的運行效率,但學生在學習時往往不能理解該命令的本質,總是在此處產生一些困惑,在編程時誤用該命令&#…

rabbitmq channel參數詳解【轉】

1、Channel 1.1 channel.exchangeDeclare(): type:有direct、fanout、topic三種durable:true、false true:服務器重啟會保留下來Exchange。警告:僅設置此選項,不代表消息持久化。即不保證重啟后消息還在。原…

感染EXE文件代碼(C++)

C代碼#include <windows.h> #include <winnt.h> #include <stdio.h> #include <assert.h> #define DEBUG 1 #define EXTRA_CODE_LENGTH 18 #define SECTION_SIZE 0x1000 #define SECTION_NAME ".eViLhsU" #define F…

nlp gpt論文_GPT-3:NLP鎮的最新動態

nlp gpt論文什么是GPT-3&#xff1f; (What is GPT-3?) The launch of Open AI’s 3rd generation of the pre-trained language model, GPT-3 (Generative Pre-training Transformer) has got the data science fraternity buzzing with excitement!Open AI的第三代預訓練語言…

真實不裝| 阿里巴巴新人上路指北

新手上路&#xff0c;總想聽聽前輩們分享他們走過的路。橙子選取了阿里巴巴合伙人逍遙子&#xff08;阿里巴巴集團CEO&#xff09; 、Eric&#xff08;螞蟻金服董事長兼CEO&#xff09;、Judy&#xff08;阿里巴巴集團CPO&#xff09;的幾段分享&#xff0c;他們是如何看待職場…

小程序學習總結

上個周末抽空了解了一下小程序,現在將所學所感記錄以便日后翻看;需要指出的是我就粗略過了下小程序的api了解了下小程序的開發流程以及工具的使用,然后寫了一個小程序的demo;在我看來,如果有前端基礎學習小程序無異于錦上添花了,而我這個三年的碼農雖也寫過不少前端代碼但離專業…

tomcat java環境配置

jsp 環境變量配置 一、配置JDK 首先&#xff0c;從Sun網站上下載jdk。 雙擊jdk-1_5_0_04-windows-i586-p.exe開始安裝&#xff0c;默認安裝到C:/Program Files/Java/jdk1.5.0_04&#xff0c;你也可以更改路徑&#xff0c;但要記住最后選擇的路徑&#xff0c;設置環境變量的時候…

uber 數據可視化_使用R探索您在Uber上的活動:如何分析和可視化您的個人數據歷史記錄

uber 數據可視化Perhaps, dear reader, you are too young to remember that before, the only way to request a particular transport service such as a taxi was to raise a hand to make a signal to an available driver, who upon seeing you would stop if he was not …

java B2B2C springmvc mybatis電子商城系統(四)Ribbon

2019獨角獸企業重金招聘Python工程師標準>>> 一&#xff1a;Ribbon是什么&#xff1f; Ribbon是Netflix發布的開源項目&#xff0c;主要功能是提供客戶端的軟件負載均衡算法&#xff0c;將Netflix的中間層服務連接在一起。Ribbon客戶端組件提供一系列完善的配置項如…

c語言函數的形參有幾個,C中子函數最多有幾個形參

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓C89 31個&#xff0c;C99 127個。ANSI C892.2.4.1 Translation limitsThe implementation shall be able to translate and execute at least one program that contains at least one instance of every one of the following lim…

Linux上Libevent的安裝

1、下載wget -O libevent-2.0.21-stable.tar.gz https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz2、解壓 tar zxvf libevent-2.0.21-stable.tar.gz3、配置安裝路徑 cd libevent-2.0.21-stable ./configure -prefix/usr4、編譯并安裝 make make …

Win7安裝oracle 10 g

開始-運行-輸入hdwwiz-回車 ——選則手動 ——網絡適配器——左邊選Microsoft&#xff0c;右邊找到Microsoft Loopback Adapter ——完成 打開 控制面板\網絡和 Internet\網絡和共享中心 會發現多了一個本地連接 點詳細信息 發現是Microsoft Loopback Adapter的。…

基于plotly數據可視化_[Plotly + Datashader]可視化大型地理空間數據集

基于plotly數據可視化簡介(我們將創建的內容)&#xff1a; (Introduction (what we’ll create):) Unlike the previous tutorials in this map-based visualization series, we will be dealing with a very large dataset in this tutorial (about 2GB of lat, lon coordinat…

Centos用戶和用戶組管理

inux系統是一個多用戶多任務的分時操作系統&#xff0c;任何一個要使用系統資源的用戶&#xff0c;都必須首先向系統管理員申請一個賬號&#xff0c;然后以這個賬號的身份進入系統。1、添加新的用戶賬號使用useradd命令&#xff0c;其語法如下&#xff1a;useradd 選項 用戶名-…

吹氣球問題的C語言編程,C語言怎樣給一個數組中的數從大到小排序

滿意答案#include "stdio.h"int main(){int i,j;int a[12];for(i1; i<10; i)scanf("%d",&a[i]);for(i1; i<10; i)for(ji; j<10; j)if(a[i]{int ta[i];a[i]a[j];a[j]t;}//前十個數的排序for(i1; i<10; i)printf("%d ",a[i]);prin…

裴波那契數列

斐波那契數列&#xff1a;0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 求斐波那契數列第 n 項的值&#xff1a; 方法一&#xff1a;遞歸 function fibonacci(n) {if (!Number.isSafeInteger(n) || n < 0) {return;}if (n 0 || n 1) {return n;} else {return fibo…

劃痕實驗 遷移面積自動統計_從Jupyter遷移到合作實驗室

劃痕實驗 遷移面積自動統計If you want to use Google Colaboratory to perform your data analysis, for building data pipelines and data visualizations, here is the beginners’ guide to migrate from one tool to the other.如果您想使用Google Colaboratory進行數據分…

英法德三門語言同時達到c1,【分享】插翅而飛的孩子(轉載)

微信轉來的&#xff0c;覺得發人深思&#xff0c;轉來這里插翅而飛的孩子(一)開篇一&#xff1a;讓孩子擁有一雙豐滿的翅膀。作者簡介&#xff1a;英華蘭的Dr.Bing,德國兒童教育學博士&#xff0c;數字媒體碩士和計算機軟件工程本科。精通英法德三門語言&#xff0c;從事兒童語…

數據庫建表賦予權限語句

sqlplus /nologconn / as sysdba//創建臨時表空間create temporary tablespace zfmi_temptempfile D:\oracle\oradata\zfmi\zfmi_temp.dbf size 32m autoextend on next 32m maxsize 2048mextent management local;//tempfile參數必須有//創建數據表空間create tablespace zfmi…

day03 基本數據類型

1.什么是數據類型 變量值即我們 存放的數據 &#xff0c;數據類型及變量值的類型 2.變量值為何要區分類型 因為變量值使用記錄現實世界中事物的特征&#xff0c;針對不同的特征就應該用不同類型的值去標識 3.如何應用數據類型 一 數據類型&#xff1a; 1.整型int &#xff1a;…