C語言程序設計基礎(第二版)課件:數組-批量數據的表示與處理_第1頁
C語言程序設計基礎(第二版)課件:數組-批量數據的表示與處理_第2頁
C語言程序設計基礎(第二版)課件:數組-批量數據的表示與處理_第3頁
C語言程序設計基礎(第二版)課件:數組-批量數據的表示與處理_第4頁
C語言程序設計基礎(第二版)課件:數組-批量數據的表示與處理_第5頁
已閱讀5頁,還剩97頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數組——批量數據的表示與處理6.1一維數組6.2二維數組6.3字符數組實操訓練課外練習

6.1一維數組

何謂一維數組?一維數組在程序中如何表示與處理?一維數組可用來表示具有相同類型且具有線性關系的批量數據(數據集合),如數學中的一維向量等。一維數組作為一個數據對象在程序中使用,必須先定義,編譯系統按一定的存儲結構存儲后才能使用。

6.1.1一維數組的定義與存儲結構

一維數組定義的一般形式為

基類型符數組名[常量表達式];

其中,基類型符可以是基本類型中任一種類型的關鍵字,如int、char、float、double等,說明了構成數組各元素的數據類型。數組名是數組引用的標識符,命名規則同變量。方括號中的常量表達式表示數組元素的個數,也稱為數組的長度。常量表達式是只能包含常量和符號常量,不能包含變量的表達式,即表達式具有確定的值。

例如:

定義數組就定義了數組的引用符號、元素的類型和元素的個數及元素的順序關系。數組元素的序號是從0開始的,所以最大序號應是常量表達式的值減1。如a[5]表示數組a有5個元素,分別為a[0]、a[1]、a[2]、a[3]、a[4]。

在定義數組時需注意以下幾點:

(1)常量表達式中可以使用符號常量,但不能出現變量。例如:

(2)數組長度說明只能用方括號,不能使用其他形式的括號。

(3)在一個定義語句中,可以定義一個數組,也可定義多個同一類型的數組,還可以和同一類型的變量一起定義,但各變量和數組之間要用逗號分隔。例如:

inti,j,k,a[10],b[20];

在程序中定義的數組,C語言編譯系統會給數組元素分配一段連續的存儲空間,每個元素按數據類型占用相同的字節數。

6.1.2一維數組的初始化

定義了數組,并且編譯系統給其分配了存儲空間,但數組元素還不具有值。數組的初始化就是給數組元素提供初值。數組的初始化有以下幾種情況:

(1)給全部元素賦初值。例如:

inta[5]={5,8,9,12,3};

給數組元素提供的初值要用花括號括起來,數據之間用逗號分隔。編譯時,把數據依次賦給數組元素,即5賦給a[0],8賦給a[1],9賦給a[2],12賦給a[3],3賦給a[4]。

給全部元素賦值時,在數組定義中,數組元素的個數可以缺省,元素個數默認為數據的個數,定義語句可以寫成

inta[]={5,8,9,12,3};

(2)只給部分元素賦初值。例如:

inta[10]={0,1,2,3};

系統將提供的數據從a[0]開始,按順序賦給前面的元素,剩余元素無初值,即將0賦給a[0],1賦給a[1],2賦給a[2],3賦給a[3],a[4]~a[9]無初值。

(3)若給全部元素賦相同初值,也只能給元素逐個賦值,不能給數組整體賦值。

例如:給5個元素全部賦1值,只能寫為

inta[5]={1,1,1,1,1};

而不能寫為

inta[5]=1;

6.1.3一維數組元素的引用

雖然數組是作為一個數據對象,但只能引用數組的元素,而不能整體引用。對一個數組元素的引用相當于對一個變量的引用。

數組元素引用的一般形式為

數組名[下標]

其中,下標只能為整型常量或整型表達式,如為小數,則系統自動取整。

例如:a[5]、a[i+j]、a[i++]都是合法的數組元素引用形式。

注意:引用數組元素時,其下標表示元素在數組中的位置信息,而數組定義時方括號中的整型常量或整型表達式表示的是元素個數。

例6.1定義數組,依次給10個元素賦值0~9,并逆序輸出。

編程思路:這是一個數組元素引用的例子。因為數組只能按元素引用,所以賦值和輸出都只能逐個元素依次來進行。

分析:從程序可以看出,利用循環實現了數組逐個元素賦初值和輸出。數組的下標變量與循環的控制變量使用一個變量i,利用循環規律能方便地實現數組元素的引用。

6.1.4一維數組的應用程序設計

一維數組的應用程序設計主要涉及具有線性關系的批量數據的處理問題,設計的關鍵是把數組元素的下標變量與循環控制變量結合起來,利用循環規律來達到按數組元素逐個進行處理的目的。

例6.2定義一個具有10個元素的一維數組,輸入元素的值,并輸出其中最大值。

編程思路:利用循環輸入10個數,依次賦給數組元素。求10個元素中的最大數,可定義一個存放最大數的變量max,先將a[0]賦給max(暫設a[0]中的值為最大數),然后將max與a[1]~a[9]比較,遇到max小于某一元素值,則將該元素值賦給max,作為當前的最大數。逐個元素比較完,max中的值就是10個元素中的最大數。

分析:程序中第一個循環控制變量i初值為0,循環終值為9,循環10次,從鍵盤輸入10個整數,依次賦給a[0]~a[9]。第二個循環控制變量i初值為1,循環終值為9,循環9次,從a[1]開始,與max值比較,找出最大元素。在數組處理循環中一定要注意下標越界的問題。如果將for(i=1;i<10;i++)改為for(i=1;i<=10;i++),將會出現什么情況?

例6.3編寫程序,實現用數組來產生Fibonacci數列。

編程思路:Fibonacci數列是1,1,2,3,5,8,13,…。用迭代關系式表示的數列規律為

F1=1

F2=1

Fn=Fn-2+Fn-1 (n>2)

即從第3項開始,每一項是前兩項之和。

迭代處理是一類常見的數據處理問題,利用數組和循環結構能有效地實現這類問題的處理。分析:定義數組時,按Fibonacci數列的形成規律,給數組前兩個元素賦初值1,從第3個元素開始,由循環根據迭代公式求出。

例6.4使用冒泡法將10個數按由小到大的次序排序并輸出。

編程思路:排序問題是數據處理的常見問題之一。冒泡法排序是最基本的排序方法。在程序中實現對n個數排序,應定義一個有n個元素的一維數組。對數組元素兩兩進行比較,如果符合序(前一個小于后一個),則不交換;如果不符合序(前一個大于后一個),則進行交換。如此進行n-1次比較,找出最大的數,交換到最后一個元素(a[n-1])中。這樣的比較過程稱為一輪比較。

經過第1輪比較,前面n-1個元素若仍是無序狀態,則需要進行第2輪比較。在第2輪中,對n-1個元素進行n-2次比較,可將最大的數交換到a[n-2]中。如此需要進行n-1輪比較。最后一輪變為a[1]與a[2]的比較。最后在數組中就存放了排好序的數。冒泡法排序過程如圖6.1所示(圖中雙向箭頭線表示兩數比較操作)。

圖6.1冒泡法排序過程

從算法分析可知,冒泡法排序要用雙重循環來實現,外循環控制輪次,內循環實現每一輪中數組元素的兩兩比較。若n個數排序,設外循環控制變量為i,內循環控制變量為j,則其取值范圍分別為0≤i≤n-1和0≤j≤j-i。

分析:程序中用了4個for循環。第一個for循環實現輸入10個待排序的數,依次賦給數組元素。第二個for循環實現輸出排序前的10個數。第三個for雙重循環實現對10個數排序。外層循環語句實現排序數的9輪比較,內層循環語句實現本輪排序數的兩兩比較,不符合序則交換。最后一個for循環實現排序后的10個數的輸出。以上排序方法如要實現數據由大到小排列,只需將第三個for循環中的循環嵌套比較條件改為a[j]<a[j+1]即可。

例6.5使用選擇法對10個數按由小到大的順序排序并輸出。

編程思路:選擇法是對冒泡法排序的改進。冒泡法對n個數排序,相鄰兩數比較,只要不符合序都要進行交換。在例6.4中,每輪比較找出一個最大數,放在最后一個數組元素中。這種方式稱為“下沉法”。換一個思路,每輪比較找出一個最小數,放在最前一個數組元素中,這種方式則稱為“上浮法”。選擇法排序采用“上浮法”。在內循環中,每輪比較中只將最小值元素的下標記錄在一個變量中,每輪比較結束后只將所記錄的最小值元素與首元素進行一次交換,以減少冒泡法排序中的交換次數,提高排序效率。

分析:輸入與例6.4相同的數,運行結果也相同。程序中定義變量k,記錄本輪比較最小值元素的下標號。在內循環外,k賦值i,即設a[i]為最小數元素,也是本輪比較的首元素。在內循環中,a[k]與其后的元素兩兩比較,如有一元素a[j]比a[k]的值小,就將j記錄在k中。結束內循環時,a[k]是最小數元素,與a[i]進行一次交換。內循環控制變量j的初值是i+1,表示前i個元素已排好序,本輪只進行第i個元素后的n-i個元素的比較排序。

只需對程序稍作改進,即可實現數據由大到小排序的功能,讀者可自行修改驗證。

6.2二維數組

何謂二維數組?二維數組在程序中如何表示與處理?二維數組可用來表示具有相同類型且具有二維關系的批量數據(數據集合),如平面表格數據、數學中的矩陣等。同一維數組一樣,二維數組也必須先定義,編譯系統按一定的存儲結構存儲后才能使用。

6.2.1二維數組的定義與存儲結構

二維數組定義的一般形式為

基類型符數組名[常量表達式1][常量表達式2]

其中,基類型符和數組名的表示與作用同一維數組的定義。數組名后跟兩個方括號,其中常量表達式1表示二維數組的行數,常量表達式2表示二維數組的列數。例如:

inta[3][4];

定義了一個3行4列的二維數組a,包含3×4=12個整型數據元素,即

a[0][0],a[0][1],a[0][2],a[0][3]

a[1][0],a[1][1],a[1][2],a[1][3]

a[2][0],a[2][1],a[2][2],a[2][3]

二維數組的行號和列號都是從0開始的,最大行號是常量表達式1的值減1,最大列號是常量表達式2的值減1。

在程序中定義的二維數組,C語言編譯系統給各元素按所定義的數據類型分配一段連續的存儲空間。與一維數組不同的是,二維數組是二維邏輯結構,但存儲器是線性存儲結構,二維數組是按行線性存儲的,即按第1行、第2行、第3行、…,直到最后一行的順序存儲。

6.2.2二維數組的初始化

定義了二維數組,只說明了二維數組的符號名稱、所包含元素的個數及類型,數組元素不具有值。要使數組元素具有值,需對二維數組初始化。二維數組的初始化也可以分為如下幾種情況。

(1)按行分段給全部元素賦初值。

(2)線性連續給全部元素賦初值。

(3)按行分段給部分元素賦初值。

(4)線性連續給部分元素賦初值。

6.2.3二維數組元素的引用

對二維數組的數據處理中,也只能對其元素進行引用,不能進行整體引用。二維數組元素引用的一般形式為

數組名[行下標][列下標]

其中,行下標和列下標只能為整型常量或整型表達式,如為小數,系統自動取整。行下標和列下標分別表示元素在數組中的行位置和列位置信息。對二維數組中一個元素的引用也如同對一個變量的引用一樣。

例6.6從鍵盤輸入一個二維數組各元素的值,并輸出。

編程思路:同一維數組一樣,二維數組也只能按元素引用,給數組元素輸入值和輸出數組元素值都只能逐個元素依次來進行。

分析:從程序可以看出,利用雙重循環實現了數組逐個元素值的輸入和輸出。數組的行下標變量、列下標變量與內外循環的控制變量結合,利用雙重循環能方便地實現數組元素的引用。

6.2.4二維數組的應用程序設計

二維數組的應用程序設計主要涉及行列結構的批量數據處理。程序結構采用雙重循環,把二維數組元素的行列下標變量與外內循環控制變量相結合,既能反映批量數據的邏輯關系,又能達到按數組元素逐個進行處理的目的。

例6.7編寫程序,求4個同學、3門課程的單科成績的平均分和所有科目總的平均分,并輸出。

編程思路:4個學生、3門課程成績表屬于二維數組結構數據。定義學生數據為行、課程成績為列的二維數組,則求單科成績平均分需按列求和。為求所有科目總的平均分,需將單科平均分保存,可將二維數組多定義一行,最后一行用于保存單科平均分。

分析:外循環控制變量i代表第i門課程,內循環控制變量j代表第j個學生。外循環一次,內循環執行一遍,就求出4個學生一門課程的總分。內循環結束時,求出第i門課程的平均分,存入a[4][i]中。結束外循環后,又對數組第4行元素求和再除以課程門數得平均分。

例6.8編寫程序,實現求一個3?×?4矩陣的轉置矩陣,并輸出轉置前后的矩陣。

編程思路:求轉置矩陣是將原矩陣的列變成行,行變成列。利用二維數組可以很容易地實現。定義原矩陣為a,轉置矩陣為b,則在雙重循環中用“b[i][j]=a[j][i];”語句即可實現轉置。

分析:程序中用了3個雙重循環。第1個雙重循環實現原矩陣輸出;第2個雙重循環實現求轉置矩陣;第3個雙重循環實現轉置矩陣輸出。

例6.9編寫程序,在一個3?×?3矩陣中找出最大的元素,輸出元素值及其所在的行號和列號,并求主對角線元素值之和。

編程思路:定義一個存放最大數變量max,以及行號、列號存放變量row、column,先將矩陣二維數組的首元素賦給max,在雙重循環中,使每一元素與max比較,遇到大于max的元素,則將其值置換到max中,并將行號、列號記錄在row、column中。求對角線元素值之和是行號與列號相等的元素累加。

分析:對角線元素值之和,使用一個單層循環即可實現,放在外循環中。找最大元素值可在內循環中實現。在內循環外先設定首元素值為最大元素值。實際上,設定比矩陣中最大元素值小的一個數值即可。

例6.10利用二維數組打印楊輝三角形。

編程思路:定義一個二維數組,存放楊輝三角形數據。利用楊輝三角形規律形成數據,存入二維數組。楊輝三角形數組元素形成的算法是,數組的第0列和對角線元素值為1;其余各行元素是其上一行同列元素和上一行前一列元素之和。下面以5行數據為例編寫程序。

分析:程序中第1個單層循環使第1列和對角線元素為1。第2個雙重循環生成楊輝三角形的其他元素。第3個雙重循環輸出生成的楊輝三角形元素值。定義了常量N作數組行列數,只要修改N的定義值,可生成任意行數的楊輝三角形。

6.3字符數組

何謂字符數組?字符數組在程序中如何表示與處理?在C語言中只有字符和字符串常量、字符變量,沒有專門的字符串變量。對于一個字符串的存儲和處理是通過字符數組來實現的,每個數組元素存放一個字符。用來存放字符串的數組稱為字符數組。

6.3.1字符數組的定義與初始化

字符數組的定義形式與數值數組的定義形式相同,只是基類型說明符用char。例如:

charc[10];

由于字符型和整型可以通用,也可以定義intc[10]來存儲字符串,但這時每個數組元素在VC中占用4個字節的內存單元,會造成空間的浪費。

字符數組也可以是二維的。例如:

charc[5][10];

即為二維字符數組。

字符數組也允許在定義時,對部分或全部元素進行初始化賦值。字符數組初始化是給元素提供字符常量。例如:

charc[10]={'c','','p','r','o','g','r','a','m'};

該字符數組的存儲結構如圖6.2所示。圖6.2字符數組的存儲結構

因為字符串是按字符數組存儲的,所以可以用字符串對字符數組初始化,而且字符數組定義時,方括號中的長度可以缺省。用字符串初始化的字符數組可稱為字符串數組。

例如:

charc[]="Cprogram";

C語言規定,一個字符串有一個字符串結束符“\0”。所以,用字符串給字符數組提供初值,系統自動在字符串最后一個字符后增加一個字節,用于存儲“\0”。如圖6-2的c[9]中即存“\0”。字符數組與字符串數組的不同之處是,字符串數組的存儲字節數比實際字符多一個。

也可以定義、初始化二維字符數組。初始化的方法同數值數組,只是提供的數據為字符數據。例如:定義一個表示5行5列的“*”菱形圖案的二維字符數組。

charc[5][5]={{'','','*'},{'','*','','*'},{'*','','','','*'},{'','*','','*'},{'','','*'}};

6.3.2字符數組的引用

C語言中各種類型的數組都只能按元素來引用。但字符串數組的輸入/輸出可以是整體方式。字符串數組使用printf函數和scanf函數以及“%s”格式符,可一次性輸入/輸出一個字符數組中的字符串。例如:

charc[]="CPrograme";

printf("%s",c);

scanf("%s",c);

注意:scanf中使用的是數組名。這與數組元素的引用不同,數組元素引用是地址方式。字符串輸入結束后,系統也自動加存一個字符串結束符“\0”

例6.11輸入一個字符串,然后輸出,測試字符串長度。

編程思路:C語言庫函數中提供了一個測試字符串函數intstrlen(str)。使用時,在程序開頭要使用預處理命令#include<string.h>。下面采用字符串輸入/輸出方式。

分析:程序中定義的字符數組要比輸入的字符串長度大,在輸入字符串時,系統自動加字符串結束符“\0”。輸出時,識別到“\0”就認為字符串結束,僅輸出有效字符。字符串長度測試函數也只計數有效字符。

例6.12編寫程序,輸出一個鉆石圖形。

編程思路:鉆石圖形用“*”表示。定義一個二維字符數組,存放圖形字符數據,采用字符數組元素輸出方式。

6.3.3字符串處理函數

C語言提供了豐富的字符串處理函數。按其功能,字符串處理函數大致可分為字符串的輸入、輸出、連接、比較、轉換、復制、搜索等幾類。使用這些函數可大大減輕編程的負擔。輸入/輸出字符串函數puts、gets在使用時應包含頭文件“stdio.h”,其他字符串函數則應包含頭文件“string.h”。詳細情況請查閱書后附錄D。

下面介紹幾個最常用的字符串處理函數。

1.字符串輸出函數puts

格式:

puts(字符數組);

功能:輸出字符數組中的字符串。

2.字符串輸入函數gets

格式:

gets(字符數組);

功能:從鍵盤輸入一個字符串,存入到指定的字符數組中。當輸入的字符串中含有空格時,空格也作為有效字符,只以回車作為輸入結束。這是與scanf函數不同的。

3.字符串連接函數strcat

格式:

strcat(字符數組1,字符數組2);

功能:把字符數組2中的字符串連接到字符數組1中字符串的后面,并刪去字符串1后的串結束標志“\0”,組成新的字符串。本函數返回值是字符數組1的首地址。應注意:字符數組1應定義得足夠長,否則不能全部裝入被連接的字符串。

4.字符串拷貝函數strcpy

格式:

strcpy(字符數組1,字符串2);

功能:把字符串2拷貝到字符數組1中,字符串2可以是字符串,也可以是字符數組。串結束標志“\0”也一同拷貝。

在使用函數strcpy時應注意以下幾點:

(1)字符數組1必須定義得足夠大,以便容納被復制的字符串。字符數組1至少不應小于字符串2的長度,否則不能全部裝入所拷貝的字符串。

(2)字符數組1必須寫成數組名形式,而字符串2可以是字符數組,也可以是字符串常量。

(3)有時也可以只復制字符串2中的前若干個字符,其具體使用格式為

strcpy(字符數組1,字符串2,m)

表示將字符串2中的前m個字符復制到字符數組1中,取代字符數組1中的前m個字符。

5.字符串比較函數strcmp

格式:

strcmp(字符串1,字符串2);

功能:對兩個字符串字母逐個比較,比較對應字符的ASCII碼值,函數返回比較結果。

返回值情況如下:

(1)字符串1=字符串2,返回值為0,表示兩字符串每個字符都相同,字符個數也相同。

(2)字符串1>字符串2,返回大于0的正整數值,只要遇到串1的一個字符大于串2的字符,就是串1大于串2。

(3)字符串1<字符串2,返回小于0的負整數值,只要遇到串1的一個字符小于串2的字符,就是串1小于串2。

6.求字符串長度函數strlen

格式:

strlen(字符數組名);

功能:測字符串的實際長度(不含字符串結束標志“\0”)并作為函數返回值。

7.小寫轉大寫函數strupr

格式:

strupr(字符串);

功能:將字符串中的小寫字母轉換為大寫字母,其他字符不轉換(包括大寫字母和非字母)。其中“字符串”可以是字符數組名或字符串常量,函數的返回值為轉換后的字符串

地址。

8.大寫轉小寫函數strlwr

格式:

strlwr(字符串);

功能:將字符串中的大寫字母轉換為小寫字母,其他字符不轉換(包括小寫字母和非字母)。其中“字符串”可以是字符數組名或字符串常量,函數的返回值為轉換后的字符串

地址。

6.3.4字符數組的應用程序設計

字符數組中字符數據的處理程序設計,其思路方法與數值數組相同,只是輸入/輸出可有兩種方式:一是字符數組元素的引用方式,二是串的整體方式。要注意字符數組賦初值的方式,它是通過字符賦初值的,字符串沒有結束符“\0”,應按字符元素輸入/輸出。在字符串的處理中,要善于使用串處理庫函數。

例6.13從鍵盤輸入一串字符,實現其中大小寫字母的轉換并輸出。

編程思路:通過字符串輸入給字符數組提供值,系統自動添加字符串結束符“\0”,可用字符串方式輸入/輸出。從附錄A可知,字母大小寫的ASCII碼值相差32,將大寫字母的ASCII碼值加32就轉換成小寫字母,將小寫字母的ASCII碼值減32就轉換成大寫字母。

分析:程序中使用了字符串長度檢測函數,程序頭部有“#include"string.h"”。在字符串大小寫轉換的循環中是以字符數組元素引用方式進行處理的。

例6.14輸入一行字符,統計其中英文字母、數字和其他字符的個數。

編程思路:定義字母、數字和其他字符的計數變量letter、num和other,分別進行計數。

分析:為使判斷字母、數字和其他字符的表達式簡潔,將字符元素賦給字符變量c。判斷字母的表達式c>='A'&&c<='Z'||(c>='a'&&c<='z'的運算順序應為((c>='A')&&(c<='Z'))||((c>='a')&&(c<='z')))。

實操訓練

實訓任務六學習使用數組的程序設計方法

實訓項目1設計程序,從鍵盤上輸入一組數,將它們按從小到大排序,再從鍵盤輸入一個數,將它按大小順序插入到排好序的數組中。要求輸出排序后的數組和插入數據后的數組。輸入/輸出界面可參照圖6.3所示。圖6.3實訓項目1界面式樣

實訓指導

1.設計程序

(1)定義數組。考慮在數組中插入數,所以數組定義要比排序數多一個元素。

(2)輸入一組數并排序。排序程序可參考例6.4或例6.5。

(3)從鍵盤輸入一個數,將該數按順序插入到排好序的數組中。

①尋找插入位置。設插入的數為n,數組為a[11],則從數組首元素開始,依次與每一個元素比較,如果遇到n>a[k],k就是要插入的位置。可用for循環來實現。

②挪開插入位置。從數組尾元素到插入位置元素a[k],依次后移,即a[i+1]=a[i]。可用for循環來實現。

③插入,即a[k]=n。

2.調試運行程序

(1)運行程序,輸入一組無序數據,檢測是否實現從小到大排序;在數組的不同位置擬定一個插入數據,檢測插入是否正確。

(2)修改程序,實現從大到小排序,并在數組中插入一個數,運行程序,檢測結果是否正確。

實訓項目2設計程序,實現以下功能:

(1)輸入學生成績表,存入二維數組中,為避免繁瑣的數據輸入,可暫設5個學生、4門課成績。

(2)按格式輸出學生成績表。

(3)查詢大于等于90分的學生,按學生和課程序號輸出成績。

(4)查詢60分以下的學生,按學生和課程序號輸出成績。

輸入/輸出界面可參照圖6.4所示。圖6.4實訓項目2界面式樣

實訓指導

1.設計程序

(1)根據學生數和課程門數定義二維數組。

(2)為保持與成績表一致的形式輸入成績,可用單循環,循環一次輸入一個學生的各門課成績,循環體中用格式輸入語句“scanf("%f%f%f%f",&a[i][0].&a[i][0].&a[i][0].&a[i][0])”。

(3)用格式輸出語句輸出成績表表頭,如“printf("學號課程1課程2課程3課程4\n");”。

(4)用雙重循環和格式輸出語句輸出成績。

(5)查找大于等于90分的學生,用雙重循環逐個學生每門課成績與90比較,如果大于或等于90,則按該學生序號和課程序號輸出成績。學生序號按數組行標加1(i+1),課程序號按列標加1(j+1)。

(6)查找低于60分學生的方法同查找大于等于90分的學生。

2.調試運行程序

(1)按5個學生、4門課成績輸入數據,測試運行結果是否滿足要求。

(2)修改程序,添加學生和課程數,測試運行結果是否滿足要求。

實訓項目3設計程序,輸入一行電文,按下面規律譯成密碼,并統計電文長度(字符總數)、電文字母數、電文非字

溫馨提示

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

評論

0/150

提交評論