




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
三分天才七分學,笨鳥先飛早入林。漫步尋花始C程序設計與訓練習復春路雨添花花動一山春色關于C語言程序?qū)W習的一些想法1.C語言難不難?難,因為從頭開始學習新的規(guī)則和格式;不難,因為有規(guī)律可循。基礎打牢,則順其自然即可。3.想不想知道你的潛能有多大?正常人的腦細胞約140億~150億個,但只不足10%被開發(fā)利用,其余大部份在休眠狀態(tài),更有研究統(tǒng)計認為有98.5%的細胞是處于休眠,甚至有專家認為只有1%參加大腦的功能活動。2.C語言程序的基本規(guī)則是什么?想一想:新認識一個朋友,到成為閨蜜,成為好友,是怎樣的過程?相互認識——相互了解——相互磨合——深入了解——情投意合——如影隨形——無話不談——你一個眼神我就懂了教材138頁一維數(shù)組的應用舉例
【例6-13】將數(shù)組a中的元素作如下處理:(1)將各元素的奇數(shù)位取出來,形成一個新數(shù),高奇數(shù)位變成低位,低奇數(shù)位變成高位,例如654321處理后變成135,新數(shù)仍然存放在數(shù)組原來位置。(2)對新數(shù)組進行升序排序。intmain(){ inti,j,t;long
a[10]={204,15824,944371,480025,0,823961,14167,128,93,40665}; for(i=0;i<10;i++){//A t=0; while(a[i]!=0){ t=t*10+a[i]%10; a[i]=a[i]/100; } a[i]=t; } printf("處理后:\n"); for(i=0;i<10;i++) printf("%d\t",a[i]);
教材138頁一維數(shù)組的應用舉例
【例6-13】將數(shù)組a中的元素作如下處理:(1)將各元素的奇數(shù)位取出來,形成一個新數(shù),高奇數(shù)位變成低位,低奇數(shù)位變成高位,例如654321處理后變成135,新數(shù)仍然存放在數(shù)組原來位置。(2)對新數(shù)組進行升序排序。 for(i=9;i>0;i--){//B for(j=0;j<i;j++) if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; } } printf("排序后:\n"); for(i=0;i<10;i++) printf("%d\t",a[i]); printf("\n"); return0;}教材140頁一維數(shù)組的應用舉例方法一【例6-16】將一維數(shù)組a中的正數(shù)移動到數(shù)組的右側(cè),負數(shù)移動到數(shù)組的左側(cè)。#include<stdio.h>#defineN10intmain(){ inta[N]={4,10,-3,7,-12,4,-6,2,8,-8}; intb[N]; inti,l,r; for(l=0,r=N-1,i=0;i<N;i++) if(a[i]<0)b[l++]=a[i]; elseb[r--]=a[i]; for(i=0;i<N;i++) printf("%d\t",b[i]); printf("\n"); return0;}教材140頁一維數(shù)組的應用舉例方法二【例6-16】將一維數(shù)組a中的正數(shù)移動到數(shù)組的右側(cè),負數(shù)移動到數(shù)組的左側(cè)。#include<stdio.h>#defineN10intmain(){ inta[N]={4,10,-3,7,-12,4,-6,2,8,-8}; intl=0,r=N-1,t; while(l<r){//A while(l<r&&a[l]<0)//B l++; while(l<r&&a[r]>0)//C r--; if(l<r){ t=a[l];a[l]=a[r];a[r]=t; l++;r--;} } for(l=0;l<N;l++) printf("%d\t",a[l]); printf("\n"); return0;}課新接天蓮葉無窮碧映日荷花別樣紅6.2.1二維數(shù)組的定義與初始化6.2.2二維數(shù)組元素的引用6.2.3
二維數(shù)組應用6.2二維數(shù)組的定義和引用6.2.1二維數(shù)組的定義
二維數(shù)組的定義方式如下:數(shù)據(jù)類型數(shù)組名[行常量表達式][列常量表達式];1.數(shù)組元素在內(nèi)存中的排列順序為“按行存放”,即先順序存放第一行的元素,再存放第二行,以此類推。2.設有一個m*n的數(shù)組x,則第i行第j列的元素x[i][j]在數(shù)組中的位置為:i*n+j(注意:行號、列號均從0開始計數(shù))。3.可以把二維數(shù)組看作是一種特殊的一維數(shù)組:它的元素又是一個一維數(shù)組。例如,對x[3][2],可以把x看作是一個一維數(shù)組,它有3個元素:x[0]、x[1]、x[2],每個元素又是一個包含2個元素的一維數(shù)組,如圖6-4所示。即把x[0]、x[1]、x[2]看作是3個一維數(shù)組的名字。
6.2.1二維數(shù)組元素的初始化1.按行賦初值數(shù)據(jù)類型數(shù)組名[行常量表達式][列常量表達式]={{第0行初值表},{第1行初值表},……,{最后1行初值表}};賦值規(guī)則:將“第0行初值表”中的數(shù)據(jù),依次賦給第0行中各元素;將“第1行初值表”中的數(shù)據(jù),依次賦給第1行各元素;以此類推。2.按二維數(shù)組在內(nèi)存中的排列順序給各元素賦初值數(shù)據(jù)類型數(shù)組名[行常量表達式][列常量表達式]={初值表};賦值規(guī)則:按二維數(shù)組在內(nèi)存中的排列順序,將初值表中的數(shù)據(jù),依次賦給各元素。如果對全部元素都賦初值,則“行數(shù)”可以省略。注意:只能省略“行數(shù)”。6.2.2二維數(shù)組元素的引用引用二維數(shù)組元素的形式為:數(shù)組名[行下標表達式][列下標表達式]1.“行下標表達式”和“列下標表達式”,都應是整型表達式或符號常量。2.“行下標表達式”和“列下標表達式”的值,都應在已定義數(shù)組大小的范圍內(nèi)。假設有數(shù)組x[3][4],則可用的行下標范圍為0~2,列下標范圍為0~3。3.對基本數(shù)據(jù)類型的變量所能進行的操作,也都適合于相同數(shù)據(jù)類型的二維數(shù)組元素。例舉用應組數(shù)維二【例6-17】對二維數(shù)組a[6][6]賦值:對角線上元素為0;對角線右上角元素為1;對角線左下角元素為-1。最后輸出數(shù)組元素。#include<stdio.h>intmain(){ inta[6][6]; inti,j; for(i=0;i<6;i++) for(j=0;j<6;j++) a[i][j]=(i==j)?0:(i<j)?1:-1; for(i=0;i<6;i++){ for(j=0;j<6;j++) printf("%d\t",a[i][j]); printf("\n"); } return0;}【例6-18】從鍵盤上輸入6個數(shù)據(jù)存入二維數(shù)組a[2][3]中,再將數(shù)組a中每行元素放入數(shù)組b的每列中。數(shù)組b是3行2列的二維數(shù)組。#include<stdio.h>intmain(){ inta[2][3],b[3][2]; inti,j; for(i=0;i<2;i++) /*輸入6個數(shù)據(jù)*/ for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<2;i++) /*a數(shù)組存入數(shù)組b*/ for(j=0;j<3;j++) b[j][i]=a[i][j]; for(i=0;i<2;i++){ /*輸出a數(shù)組*/ for(j=0;j<3;j++) printf("%d\t",a[i][j]); printf("\n"); } for(i=0;i<3;i++){ /*輸出b數(shù)組*/ for(j=0;j<2;j++) printf("%d\t",b[i][j]); printf("\n"); } return0;}【例6-19】顯示楊輝三角形的前8行#include<stdio.h>#defineN8intmain(){ intyh[N][N]; inti,j; for(i=0;i<N;i++){//A yh[i][0]=yh[i][i]=1;//第1列和對角線上元素賦值1 for(j=1;j<i;j++)//Byh[i][j]=yh[i-1][j-1]+yh[i-1][j];其他元素賦值 } for(i=0;i<N;i++){ //C for(j=0;j<=i;j++)//D printf("%2d\t",yh[i][j]); printf("\n"); } return0;}【例6-20】一個學習小組有5個學生,每個學生3門課程的考試成績見表6-1。求全組分科的平均成績和各科總平均成績。#include<stdio.h>intmain(){inti,j,average=0,ave[3]={0},score[3][5];printf("輸入5人3門課程成績\n");for(i=0;i<3;i++){ for(j=0;j<5;j++){ scanf("%d",&score[i][j]); ave[i]+=score[i][j]; } average+=ave[i]; ave[i]/=5;}average/=15;printf("數(shù)學:%d\n語文:%d\n英語:%
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測試類型題目及答案
- 8 1 直線和圓-高考數(shù)學真題分類 十年高考
- 《經(jīng)濟與社會》選擇題100題(原卷版)
- 2023-2024學年河南省南陽市六校高二下學期期末考試數(shù)學試題(解析版)
- 2025年秋三年級上冊語文同步教案 語文園地
- 碳中和行業(yè)研究報告
- 自貢統(tǒng)計年鑒-2009-環(huán)境保護主要統(tǒng)計指標解釋
- 佳能公司人員管理制度
- 供水搶修應急管理制度
- 供水設備檢修管理制度
- 文史哲與藝術(shù)中的數(shù)學智慧樹知到期末考試答案章節(jié)答案2024年吉林師范大學
- 信息光學智慧樹知到期末考試答案章節(jié)答案2024年北京工業(yè)大學
- 《HSK標準教程1》課件
- 電大財務大數(shù)據(jù)分析編程作業(yè)3
- 諾貝爾生理學或醫(yī)學獎史話智慧樹知到期末考試答案2024年
- 行業(yè)分析報告模板(很全面-非常有用)
- 內(nèi)分泌系統(tǒng)疾病教學設計教案1
- 法人變更書面催促通知合集3篇
- 廣東省初級中學教育裝備標準
- 售票員崗前培訓
- 教科版六年級下冊科學第一單元《小小工程師》教材分析及全部教案(定稿;共7課時)
評論
0/150
提交評論