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

正文內(nèi)容

c語言程序設計案例教程(四)ppt(已修改)

2025-01-16 08:52 本頁面
 

【正文】 Date: November 10, 2021 C語言程序設計案例教程(四 ) Date: November 10, 2021 第五章 C語言程序設計常用算法 ——冒泡排序 Date: November 10, 2021 授課要點 ? 冒泡排序的思想及實現(xiàn) ? 排序算法的應用 Date: November 10, 2021 ? 假設您是一位營養(yǎng)師,有顧客向您索取一份減肥菜譜。 ? 前提條件:您熟悉各種食物的熱量 問題:保持身材之道 Date: November 10, 2021 ? 列出各種食物的熱量 ? 對各種食物的熱量進行排序 ? 選擇熱量低的食物 問題分析 Date: November 10, 2021 問題解決 —— 冒泡排序 排序過程(假設元素存放在 a[0]- a[n1]中,按遞減排序): ( 1)比較第一個數(shù)與第二個數(shù),若為逆序 a[0]a[1],則交換;然后比較第二個數(shù)與第三個數(shù);依次類推,直至第 n1個數(shù)和第 n個數(shù)比較為止 —— 第一趟冒泡排序,結(jié)果最小的數(shù)被安置在最后一個元素位置上 ( 2)對前 n1個數(shù)進行第二趟冒泡排序,結(jié)果使次小的數(shù)被安置在第 n1個元素位置 ( 3)重復上述過程,共經(jīng)過 n1趟冒泡排序后,排序結(jié)束 Date: November 10, 2021 冒泡排序算法過程: Date: November 10, 2021 采用兩重計數(shù)型循環(huán): ?步驟 1: 將待排序的數(shù)據(jù)放入數(shù)組中; ?步驟 2: 置 i為 0; ?步驟 3: 讓 j從 0到 4i, 比較 a[j]與 a[j+1], 如果 a[j] = a[j+1], 位置不動; 如果 a[j] a[j+1], 位置交換,即 temp=a[j]。 a[i]=a[j+1]。 a[j+1]=temp。 步驟 3結(jié)束后 a[5i]中的數(shù)為最小的數(shù) ?步驟 4: 讓 i=i+1; 只要 i=4就返回步驟 3, 將 a[5i]的值排好。當 i==5時執(zhí)行步驟 5 ?步驟 5: 輸出排序結(jié)果 冒泡排序算法分析: Date: November 10, 2021 include void main() /* 主函數(shù) */ { int i, j, temp, a[6]。 /* 整型變量 */ for (i=0。 i=5。 i++) /* 鍵入 6個數(shù),放入 a數(shù)組中 */ { printf(“請輸入食物的熱量 a[%d]=, i)。/* 提示 */ scanf (%d, amp。a[i])。 /* 用鍵盤輸入整數(shù)賦給 a[i]*/ } for ( i=0。 i=4。 i++) /* 冒泡排序,外層循環(huán) */ for ( j=0。 j=4i。 j++ ) /* 內(nèi)層循環(huán) */ { /* 循環(huán)體,開始 */ if ( a[j] a[j+1] ) /* 如果 a[i] a[i+1]*/ { temp = a[j]。 /* 讓 a[i] 與 a[i+1] 交換 */ a[j] = a[j+1]。 a[j+1] = temp。 } } /* 循環(huán)體結(jié)束 */ printf(食物按熱量從高到低的順序顯示為: \n)。 for ( i=0。 i=5。 i++) /* 輸出排序結(jié)果 */ printf(%d\n, a[i])。 /* 格式輸出 a[i]*/ } Date: November 10, 2021 ? 若將題目改為按從小到大的順序輸出,如何修改程序? ? 若排序的個數(shù)由用戶指定,如何修改程序? 小組討論并總結(jié) Date: November 10, 2021 ? 在數(shù)組排序的基礎上,進一步將一個數(shù)據(jù)插入一個有序數(shù)組中。 學生進階練習 Date: November 10, 2021 a1 a2 … ai1 ai … an a1 a2 … ai1 … ai x an 數(shù)組中的元素增加 1個 問題分析 Date: November 10, 2021 提示 1. 數(shù)據(jù)初始化(輸入、排序) 2. 輸入待插入數(shù)據(jù) 3. 找到待插入位置 4. 將待插入位置空出 5. 插入數(shù)據(jù) 6. 輸出結(jié)果 Date: November 10, 2021 ? include ? void main() /* 主函數(shù) */ ? { ? int i, j, temp, a[6],x。 /* 定義整型變量 */ ? for (i=0。 i=5。 i++) /* 鍵入 6個數(shù),放入 a數(shù)組中 */ ? { ? printf(請輸入待排序的數(shù) a[%d]=, i)。 /* 提示 */ ? scanf (%d, amp。a[i])。 /* 用鍵盤輸入整數(shù)賦給 a[i]*/ ? } ? for ( i=0。 i=4。 i++) /* 冒泡排序,外層循環(huán) */ ? for ( j=0。 j=4i。 j++ )/* 內(nèi)層循環(huán) */ ? { /* 循環(huán)體,開始 */ ? if ( a[j] a[j+1] )/* 如果 a[i] a[i+1]*/ ? { ? temp = a[j]。 /* 讓 a[i] 與 a[i+1] 交換 */ ? a[j] = a[j+1]。 ? a[j+1] = temp。 ? } ? } /* 循環(huán)體結(jié)束 */ ? for ( i=0。 i=5。 i++) /* 輸出排序結(jié)果 */ ? printf(%d\n, a[i])。 /* 格式輸出 a[i]*/ ? i=0。 ? printf(請輸入您要插入的整數(shù): \n)。/* 提示 */ ? scanf(%d,amp。x)。 /* 用鍵盤輸入要插入的整數(shù)賦給 x*/ ? while(i=6amp。amp。xa[i]) /* 循環(huán)查找插入的位臵 */ ? i++。 ? for(j=5。j=i。j) /* 循環(huán)實現(xiàn)元素后移 */ ? a[j+1]=a[j]。 ? a[i]=x。 /* 插入元素 x*/ ? printf(插入后的序列是: \n)。 ? for ( i=0。 i=6。 i++) /* 輸出排序結(jié)果 */ ? printf(%d\n, a[i])。 /* 格式輸出 a[i]*/ ? } 實現(xiàn) Date: November 10, 2021 ? 尋找你身邊的一個實際問題 , 編寫解決問題的程序 ,用到冒泡排序 。 例如:有 N個國家參加運動會 , 從鍵盤輸入代表各國運動隊的國名 ( 國名用英文名 ) 和出場秩序名單 , 然后按出場名次從小到大的順序輸出各運動隊的國名 。 學以致用 Date: November 10, 2021 ? 完成“學生成績管理系統(tǒng)”的“排序”功能。 – 按成績從高到低的順序顯示 – 按學號從小到大的順序顯示 ? 完成“學生成績管理系統(tǒng)”的“信息插入”功能 作業(yè) ——每人必做 Date: November 10, 2021 ? 學以致用:到網(wǎng)上搜索資料 , 找出日常生活中會用到排序的例子 , 用 C語言實現(xiàn) 。 例如 , 可以搜索一些大學圖書館的藏書量 , 然后按照遞增或遞減的順序輸出 作業(yè) ——小組必做 Date: November 10, 2021 2021年 11月 10日星期三 第四章 模塊化程序設計 Date: November 10, 2021 授課要點 ? 數(shù)組元素作函數(shù)參數(shù) ? 數(shù)組名作函數(shù)參數(shù) Date: November 10, 2021 4 3 2 1 0 5 a 56 23 12 10 76 88 4 3 2 1 0 5 b 21 23 43 98 66 54 n=0 m=0 k=0 i n=0 m=0 k=1 i n=0 m=1 k=1 i n=1 m=1 k=1 i n=1 m=1 k=2 i n=2 m=1 k=2 i n=3 m=1 k=2 a和 b為有 10個元素的整型數(shù)組 比較兩數(shù)組對應元素 變量 n,m,k記錄 a[i]b[i], a[i]==b[i], a[i]b[i]的個數(shù) 最后 若 nk,認為數(shù)組 ab 若 nk,認為數(shù)組 ab 若 n==k,認為數(shù)組 a==b 數(shù)組元素作函數(shù)參數(shù)和普通變量作函數(shù)參數(shù)效果和用法一樣 問題 1:假設有兩個整型數(shù)組,試編程實現(xiàn)數(shù)組間關(guān)系(大于、等于或小于)的輸出。 Date: November 10, 2021 include main() { int a[10],b[10],i,n=0,m=0,k=0。 printf(Enter array a:\n)。 for(i=0。i10。i++) scanf(%d,amp。a[i])。 printf(Enter array b:\n)。 for(i=0。i10。i++) scanf(%d,amp。b[i])。 for(i=0。i10。i++) { if(large(a[i],b[i])==1) n=n+1。 else if(large(a[i],b[i])==0) m=m+1。 else k=k+1。 } /* Output */ } int large(int x,int y) { int flag。 if(xy) flag=1。 else if(xy) flag=1。 else flag=0。 return(flag)。 } 問題 1解決方案: Date: November 10, 2021 模仿練習 把 8和 3這兩組數(shù)保存在兩個一維數(shù)組中(主函數(shù)實現(xiàn)),再把兩個數(shù)組對應 元素的值相減后(自定義函數(shù)實現(xiàn))顯示出來(主函數(shù)實現(xiàn))。 實現(xiàn)兩個整型變量的值的互換。(假設兩個整型變量是一個長度為 2的整型數(shù)組的元素) Date: November 10, 2021 模仿 1答案 include int sub(int x,int y)。 void main() { int a[]={8,9,5,8,6,4,2,8}。 int b[]={9,6,2,3,6,2,1,3}。 int result,i。 for(i=0。i8。i++) { result=sub(a[i],b[i])。 printf(%d\n,result)。 } } int sub(int x,int y) { return xy。 } Date: November 10, 2021 include void swap2(int x, int y) { int z。 z=x。 x=y。 y=z。 } main() { int a[2]={1,2}。 swap2(a[0],a[1])。 printf(a[0]=%d\na[1]=%d\n,a[0],a[1])。 } 值傳遞 模仿 2答案
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1