freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語(yǔ)言程序設(shè)計(jì)第2版中ppt-資料下載頁(yè)

2024-10-16 16:03本頁(yè)面
  

【正文】 為“ for (i=0。i=2。i++)”,意味著什么?結(jié)果會(huì)怎樣? 例題 有一個(gè)班 30個(gè)學(xué)生,己知每個(gè)學(xué)生有 5門(mén)課的成績(jī),要求輸出平均成績(jī)最高的學(xué)生的成績(jī)以及該學(xué)生的序號(hào)。 解題思路 對(duì)本題而言,宜用二維數(shù)組,用一行中的各元素存放一個(gè)學(xué)生的成績(jī),即行代表學(xué)生,列代表一門(mén)課的成績(jī)。要存放 30個(gè)學(xué)生 5門(mén)課的成績(jī),要用一個(gè) 30*5的二維數(shù)組。另外,由于要比較各人的平均成績(jī),因此,對(duì)每個(gè)學(xué)生來(lái)說(shuō),應(yīng)該存放 6個(gè)數(shù)據(jù),每人平均成績(jī)要計(jì)算出來(lái),并存放在數(shù)組中。這樣,數(shù)組的大小就應(yīng)該是 30*6。 設(shè)計(jì)算法: (1)求每人平均成績(jī),放在數(shù)組每一行的最后一列中; (2)找出最高的平均分,和該學(xué)生的序號(hào); (3)輸出最高的平均分,和該學(xué)生的序號(hào)。 程序如下: include void main() {int i,j,max_i。 float sum,max=0。 float s[6][6]={{78,82,93,74,65},{91,82,72,76,67},{100,90,85,72,98}, {67,89,90,65,78},{77,88,99,45,89},{78,89,76,}}。 for (i=0。i5。i++) {sum=0。 /* 使 sum初值為 0 */ for (j=0。j5。j++) sum=sum+s[i][j]。 /* 累加序號(hào)為 j的學(xué)生各門(mén)課的成績(jī) * s[i][5]=sum/5。} /* 求序號(hào)為 j的學(xué)生各門(mén)課的的平均分 */ 編寫(xiě)程序 for (i=0。i5。i++) if (s[i][5]max) /* 逐個(gè)將 5個(gè)學(xué)生的平均分與 max比較 */ {max=s[i][5]。max_i=i。} /* 如果比 max大,就用序號(hào)為 i的學(xué)生的平均分取代 max的原值,將 i的當(dāng)前值保存在 max_I中 */ printf(stu_order=%d\nmax=%\n,max_i,max)。 /* 輸出最高平均分和該生的序號(hào) i */ } 運(yùn)行結(jié)果如下: max=10, row=2,colum=1 說(shuō)明: 在對(duì)數(shù)組初始化時(shí),只對(duì)各行的前 5列賦初值,第 6列默認(rèn)為 0。 注意第一個(gè) for語(yǔ)句的范圍。請(qǐng)思考能否不要“ sum=0?!边@一行?或者把這一句改放到 for語(yǔ)句的前面? 第三個(gè) for語(yǔ)句內(nèi)嵌了一個(gè) if語(yǔ)句,用來(lái)將 5個(gè)學(xué)生的平均分逐個(gè)與 max比較 字符數(shù)組 定義字符數(shù)組及對(duì)其初始化 定義方法與前面介紹的類(lèi)似。例如: char c[ 10] 。 c[0]=′I′。c [ 1] =′ ′。c [ 2] =′a′。 c[ 3] =′m′。c [ 4] =′ ′。c[5]=′h′。c[6]=′a′。 c[ 7] =′p′。c [ 8] =′p′。c [ 9] =′y′。 對(duì)字符數(shù)組初始化,可逐個(gè)字符賦給數(shù)組中各元素。 例如: char c[10]={‘I’,’a’,’m’,’h’,’a’,’p’,’p’,’y’} 字符數(shù)組 定義字符數(shù)組及對(duì)其初始化 如果初值個(gè)數(shù)小于數(shù)組長(zhǎng)度,則只將這些字符賦給數(shù) 組中前面那些元素,其余的元素自動(dòng)定為空字符。 char c[ 10] ={′c′ , ′ ′ , ′p′ , ′r′ , ′o′ , ′g′ , ′r′ , ′a′ , ′m′}。 如果提供的初值個(gè)數(shù)與預(yù)定的數(shù)組長(zhǎng)度相同,在定義 時(shí)可以省略數(shù)組長(zhǎng)度,系統(tǒng)會(huì)自動(dòng)根據(jù)初值個(gè)數(shù)確定 數(shù)組長(zhǎng)度。 char c[] ={′I′,′ ′,′a′,′m′,′ ′,′h′, ′a′,′p′,′p′,′y′}。 數(shù)組 c的長(zhǎng)度自動(dòng)定為 10。 char diamond[ 5][ 5] ={{′ ′ , ′ ′ , *′} ,{′ ′ , ′*′ , ′ ′ , ′*′} , {′*′ , ′ ′ , ′ ′ , ′ ′ , ′*′} , {′ ′ , ′*′ , ′ ′ , ′*′} ,{′ ′ , ′ ′ , ′*′}} 定義和初始化一個(gè)二維字符數(shù)組 字符數(shù)組 引用字符數(shù)組 例題 輸出一個(gè)菱形圖 解題思路 先畫(huà)出準(zhǔn)備輸出的菱形字符圖案,它應(yīng)當(dāng)是 5行 5列,然后逐行寫(xiě)出其中的字符,如第 1行應(yīng)由 2個(gè)空格字符、一個(gè) ‘ *’ 和 2個(gè)空格字符組成。第 2行由 1個(gè)空格字符、 ‘ *’ 、 2個(gè)空格字符、 ‘ *’ 和 2個(gè)空格字符組成。依此類(lèi)推。把這些字符作為初值賦給 c數(shù)組。 include void main() { char diamond[ ] [ 5] ={{′ ′, ′ ′, ′*′}, {′′, ′*′, ′ ′,′*′}, {′*′, ′ ′, ′ ′, ′ ′, ′*′}, {′ ′, ′*′, ′ ′, ′*′}, {′ ′, ′ ′,′*′}}。 int i, j。 for (i=0。i5。i++) { for (j=0。j5。j++) printf(″%c″, diamond[ i] [ j] )。 printf(″\ n″)。 } } 運(yùn)行結(jié)果 * * * * * * * * 編寫(xiě)程序 說(shuō)明 : 請(qǐng)注意怎樣構(gòu)成一個(gè)菱形字符數(shù)組 字符數(shù)組 為了測(cè)定字符串的實(shí)際長(zhǎng)度, C語(yǔ)言規(guī)定了一個(gè)“字符串結(jié)束標(biāo)志” —— ‘ \ 0’ 。 字符數(shù)組并不要求它的最后一個(gè)字符為 ′\ 0′,甚至可以不包含 ′\ 0′。 例如: char c[ 5] ={′C′, ′h′, ′i′, ′n′, ′a′}。 但是由于系統(tǒng)對(duì)字符串常量自動(dòng)加一個(gè) ′ \ 0′ 。因此,為了使處理方法一致,在字符數(shù)組中也常人為地加上一個(gè) ′ \ 0′ 。 例如: char c[ 6] ={′C′ , ′h′ , ′i′ ,′n′ , ′a′ , ′ \ 0′}。 字符數(shù)組 例如: 定義了如下的字符數(shù)組 ∶ char c[] ={“ Pascal program”}。 現(xiàn)在,想用一個(gè)新的字符串代替原有的字符串” Pascal program” ,從鍵盤(pán)向字符數(shù)組輸入 ∶ Hello 如果不加 ′ \ 0′ 的話(huà),字符數(shù)組中的字符如下 ∶ Hellol program 字符數(shù)組 字符數(shù)組 字符數(shù)組的輸入輸出 字符數(shù)組的輸入輸出可以有兩種方法: ? 逐個(gè)字符輸入輸出。用格式符“ %c” 輸入或輸出一個(gè)字符。 ? 將整個(gè)字符串一次輸入或輸出。用“ %s” 格式符,意思是對(duì)字符串的輸入輸出。 char c[] ={″China″}。 printf(″%s″ , c)。 例如 在內(nèi)存中數(shù)組 c的狀態(tài) 說(shuō)明: 1. 輸出字符不包括結(jié)束符 ′\ 0′。 “ %s” 格式符輸出字符串時(shí), printf函數(shù)中的輸出項(xiàng)是字符數(shù)組名,而不是數(shù)組元素名。 ,也只輸出到遇′ \ 0′ 結(jié)束。 ′ \ 0′ ,則遇第一個(gè) ′ \ 0′ 時(shí)輸出就結(jié)束。 scanf函數(shù)輸入一個(gè)字符串。 如果利用一個(gè) scanf函數(shù)輸入多個(gè)字符串,則在輸入時(shí)以空格分隔。 例如: char strl[ 5], str2[ 5], str3[ 5] 。 scanf(″%s %s %s″ , str1, str2, str3)。 輸入數(shù)據(jù): How are you? 數(shù)組中未被賦值的元素的值自動(dòng)置 ′ \ 0′ 。 分析圖中所示的字符數(shù)組 用 8進(jìn)制形式輸出數(shù)組 c的起始地址 printf(″%o″ , c)。 printf(″%s″ , c)。 6. scanf函數(shù)中的輸入項(xiàng)如果字符數(shù)組名。不要再加地址符 amp。,因?yàn)樵?C語(yǔ)言中數(shù)組名代表該數(shù)組的起始地址。下面寫(xiě)法不對(duì): scanf(″%s″ , amp。str); 在程序中往往需要對(duì)字符串作某些操作處理 ,如把兩個(gè)字符串連接起來(lái) 、 將兩個(gè)字符串進(jìn)行比較等 , 在 C函數(shù)庫(kù)中提供了一些字符串處理函數(shù) , 用來(lái)實(shí)現(xiàn)以上功能 , 使用很方便 。下表列出幾種常用的函數(shù) 。 字符數(shù)組 函數(shù)形式 功能 gets(字符數(shù)組 ) 從終端輸入一個(gè)字符串到字符數(shù)組 puts (字符數(shù)組 ) 將一個(gè)字符串 (以 ′ \ 0′ 結(jié)束的字符序列 )輸出到終端 strcat(字符數(shù)組 1,字符數(shù)組 2) 連接兩個(gè)字符數(shù)組中的字符串把字符串 2接到字符串 1的后面 strcpy(字符數(shù)組 1,字符串 2) 將字符串 2復(fù)制到字符數(shù)組 1中去 strcmp(字符串 1,字符串 2) 比較字符串 1和字符串 2。如果字符串 1=字符串 2,則函數(shù)值為 0。 (2) 如果字符串 1字符串 2,則函數(shù)值為一個(gè)正整數(shù)。 (3) 如果字符串 1字符串 2,則函數(shù)值為一個(gè)負(fù)整數(shù)。 strlen (字符數(shù)組 ) 測(cè)試字符串長(zhǎng)度 strlwr (字符串 ) 將字符串中大寫(xiě)字母換成小寫(xiě)字母 strupr (字符串 ) 將字符串中小寫(xiě)字母換成大寫(xiě)字母 字符數(shù)組 字符數(shù)組應(yīng)用舉例 例題 有 3個(gè)字符串 ,要求找出其中最大者 解題思路 在字符串比較中,所謂 “ 大 ” 者是指按英文字典的排列,在后面出現(xiàn)的為大 。把 str[ 0]、 str[ 1]、str[ 2]看作 3個(gè)一維字符數(shù)組 , 如同一維數(shù)組那樣進(jìn)行處理。今用 gets函數(shù)分別讀入 3個(gè)字符串。經(jīng)過(guò)兩次比較 ,就可得到值最大者 ,把它放在一維字符數(shù)組 string 程序如下 : include include void main ( ) { char string[ 20] 。 char str[ 3][ 20] 。 int i。 for (i=0。i3。i++) gets (str[ i] )。 編寫(xiě)程序 if (strcmp(str[ 0] ,str[ 1] )0) strcpy(string,str[ 0] ) else strcpy(string,str[ 1] )。 if (strcmp(str[ 2] ,string)0) strcpy(string,str[ 2] )。 printf(″\ nthe largest string is∶ \ n%s\ n″,string)。 } 編寫(xiě)程序 運(yùn)行結(jié)果如下 : CHINA↙ HOLLAND↙ AMERICA↙ the largest string is∶ HOLLAND 說(shuō)明: 在使用字符串函數(shù)時(shí)要在本程序的開(kāi)頭要用include 將頭文件 包含進(jìn)來(lái)。 在輸入以上國(guó)名字符串時(shí),字母前不加空格 這個(gè)題目也可以不采用二維數(shù)組 ,而設(shè) 3個(gè)一維字符數(shù)組來(lái)處理。 字符數(shù)組 字符數(shù)組應(yīng)用舉例 例題 輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開(kāi)。 字符數(shù)組 字符數(shù)組應(yīng)用舉例 解題思路 程序如下: include void main() { char string[ 81] 。 int i, num=0, word=0。 char c。 gets(string)。 for (i=0。(c=string[ i] )!=′\ 0′。i++) 編寫(xiě)程序 if(c==′ ′) word=0。 else if(word==0) { word=1。 num++。 } printf(″There are %d words in the line.\ n″, num)。 } 運(yùn)行情況如下: I am a boy.↙ There are 4 words in the line. C語(yǔ)言規(guī)定在定義和引用二維數(shù)組時(shí)采用兩對(duì)括號(hào): 二維數(shù)組定義的一般形式為 類(lèi)型說(shuō)明符 數(shù)組名[常量表達(dá)式][常量表達(dá)式]; 提高部分 例如: 定義 a為 3 4(3行 4列 )的數(shù)組, b為 5 10(5行 10列 )的數(shù)組。如下: float a[ 3][ 4], b[ 5][ 10]; 這樣做有什么好處呢? 注意: 我們可以把二維數(shù)組看作是一種特殊的一維數(shù)組:它的元素又是一個(gè)一維數(shù)組。 例如: 可以把 a看作是一個(gè)一維數(shù)組,它有
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1