lesson9數(shù)據(jù)的組織結(jié)構(gòu)一一維數(shù)組課件_第1頁
lesson9數(shù)據(jù)的組織結(jié)構(gòu)一一維數(shù)組課件_第2頁
lesson9數(shù)據(jù)的組織結(jié)構(gòu)一一維數(shù)組課件_第3頁
lesson9數(shù)據(jù)的組織結(jié)構(gòu)一一維數(shù)組課件_第4頁
lesson9數(shù)據(jù)的組織結(jié)構(gòu)一一維數(shù)組課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2022/12/19電氣與信息工程學院計算機系制作Lesson9數(shù)據(jù)的組織2022/12/16電氣與信息工程學院計算機系制作Lesso2022/12/19電氣與信息工程學院計算機系制作學習目標:31學會使用數(shù)組處理程序中的數(shù)據(jù)2022/12/16電氣與信息工程學院計算機系制作學習目標:2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2向量數(shù)學定義:一組既有大小又有方向的量例如:向量d:(1,3,4,6,5,2,0,8)向量b:(100,300,200,400)特點:1、是一組量2、有方向性,即每個數(shù)據(jù)在其中有位置2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2在C語言中,數(shù)組與向量對應(yīng),可以實現(xiàn)處理與向量相關(guān)的問題數(shù)組:若干類型相同的相關(guān)數(shù)據(jù)(變量)順序排列在一起例如:向量d:(1,3,4,6,5,2,0,8)465208132022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2數(shù)組類型的應(yīng)用背景(處理向量問題)(1)同時存在若干個用來描述同一性質(zhì)且不同個體的數(shù)據(jù)(向量)。(2)只有將這些數(shù)據(jù)組織在一起形成批量數(shù)據(jù),使用循環(huán)進行處理。2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3類型數(shù)組名[長度]定義數(shù)組一般形式:intarray[10]例:floatf[100];charch[5];所有元素都是int數(shù)組名長度:10注意:必須是常量數(shù)組:array2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2數(shù)組名:d用位置(下標)表示。注:下標從0開始d[0]d[1]d[2]d[3]d[4]d[5]d[6]d[7]數(shù)組特性:1、有統(tǒng)一的名字,即數(shù)組名3、可通過變量在其中的位置來表示它2、多個變量有序的排列4、數(shù)組中的變量叫數(shù)組元素,它在其中的位置叫下標2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3數(shù)組定義后的元素初值是隨機數(shù)一般需要我們來初始化inta[10]={1,2,3,4,5,6,9,0,12,-1};inta[]={11,22,33,44,55};inta[5]={1};1234569012-1省略時,長度為5,2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3數(shù)組元素的引用<數(shù)組變量名>[<下標表達式>]例:d[3];#include<stdio.h>intmain(){intd[10]={1,0,4,2,3,4,5,6,30,40},s;s=d[0]+d[1]+d[4]+d[8];printf(“s=%d”,s);return0;}d[2]d[6]d2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2例:從鍵盤輸入一個數(shù),按二進制形式輸出分析:將一個數(shù)的所有二進制位看成一個向量例如:如果輸入的是82則是(0,1,0,1,0,0,1,0)問題轉(zhuǎn)換成如何求該向量2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2C語言中的數(shù)組可以表示向量則向量a(0,1,0,1,0,0,1,0)在C語言中就是01001001數(shù)組a因此問題轉(zhuǎn)換成如果給數(shù)組a中的元素賦值提問:如何賦值,有沒有規(guī)律?2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2從鍵盤輸入的是82d[7]=0d[6]=1d[5]=0d[4]=0d[3]=1d[2]=0d[1]=1d[0]=0最后按照順序輸出d[0]—d[7]的值

d[7]=n%2;n=n/2;d[6]=n%2;n=n/2;d[5]=n%2;n=n/2;d[4]=n%2;n=n/2;d[3]=n%2;n=n/2;d[2]=n%2;n=n/2;d[1]=n%2;n=n/2;d[0]=n%2;n=n/2;2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2思路1、定義一個數(shù)組,長度為82、定義變量n,i,n放所要轉(zhuǎn)換的數(shù),i作為訪問數(shù)組中變量的位置3、從第7個開始,往前逐個給數(shù)組中的變量賦值4、從第0個開始,往后逐個輸出數(shù)組中的變量2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作流程圖2022/12/16電氣與信息工程學院計算機系制作流程圖2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2#include<stdio.h> intmain(){intd[8],n,i;scanf("%d",&n);for(i=7;i>=0;i--){ d[i]=n%2; n=n/2;}for(i=0;i<=7;i++){ printf("%d",d[i]);}system("pause");return0;}2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組的妙用3例:輸出數(shù)列1,1,2,3,5,8……的前20項11235813213455思路:將數(shù)列看成一向量1、定義一個長度20個的數(shù)組表示向量2、根據(jù)位置關(guān)系逐個計算每個變量(元素)的值2022/12/16電氣與信息工程學院計算機系制作3數(shù)組的妙2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#defineNUM100 intmain(){intf[NUM],i;f[0]=1;f[1]=1;for(i=2;i<NUM;i++){f[i]=f[i-1]+f[i-2];}

for(i=0;i<NUM;i++){printf(“%d,”,f[i]);}return0;}lesson9_01.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3數(shù)組的妙用:課堂練習3求S=1/1+1/2+2/3+3/5+5/8+8/13+……后面20項的和分析s=1/1+1/2+2/3+3/5+5/8+……

式中各項都是11235813…數(shù)列中的值,將其求出來放在數(shù)組中,然后逐個相除2022/12/16電氣與信息工程學院計算機系制作3數(shù)組的妙2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組的基本操作4數(shù)組的賦值利用賦值語句為數(shù)組賦值

for(i=0;i<10;i++){vote[i]=0;}調(diào)用標準輸入函數(shù)為數(shù)組賦值

for(i=0;i<10;i++){scanf(“%d”,&vote[i]);}intvote[10];2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組的基本操作4數(shù)組的輸出

for(i=0;i<10;i++){printf(“%5d”,vote[i]);}intvote[10];2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5數(shù)組大小最好用宏來定義,以適應(yīng)未來可能的變化#defineSIZE10

inta[SIZE];注意:1、數(shù)組一旦定義,不能改變大小2、訪問數(shù)組元素時,下標不能超過長度,即下標有效范圍[0,len)3、數(shù)組間不能整體賦值2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用6如果有數(shù)組inta[10]={1,2,4,5,3,6,7,8,9,0};intb[10];如果需要使數(shù)組b中元素的值與a的一樣b=a(Ⅹ是錯誤的)正確做法for(i=0;i<10;i++)b[i]=a[i];2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3課堂練習6從鍵盤輸入某班10位同學C語言學習成績,輸出最高分2022/12/16電氣與信息工程學院計算機系制作3課堂練習2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5例2:使用篩選法輸出18內(nèi)的所有素數(shù)23456789101112131415161712180000000030042022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#include<math.h>#defineNUM18 intmain(){intdata[NUM],i,j,n;for(i=0;i<NUM;i++)/*給數(shù)組的元素賦值*/data[i]=i+1;n=sqrt(NUM);for(i=1;i<n;i++)/*將數(shù)組中非素數(shù)置成0*/for(j=i+1;j<NUM;j++)if(data[i]!=0&&data[j]%data[i]==0)data[j]=0;for(i=1;i<NUM;i++)/*輸出*/if(data[i]!=0)printf("%6d",data[i]);return0;}lesson9_02.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5例3:已知在一條鐵路上有十個站:

A,B,C,D,E,F,G,H,I,J,如下圖所示127ABCDEFGHJI10020056131389875火車票費用計算規(guī)則:當乘車距離<300公里時,每公里0.5元,>=300公里時,超過部分每公里0.3元,設(shè)計一個程序,輸入兩個站的站名,計算其應(yīng)付的火車票費用882022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5問題分析使用數(shù)組保存相鄰站之間的距離通過站名計算乘車距離計算火車票費用2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#defineNUM9 /*段數(shù)*/intmain(){intline[NUM]={100,200,56,131,38,98,75,88,127},i,distance=0; floatvalue;charstart,end,ctn;while(1){ printf("請輸入乘車起點站\n"); scanf("%c",&start);getchar(); printf("請輸入乘車終站\n"); scanf("%c",&end);getchar(); for(i=start-'A';i<end-'A';i++){ distance+=line[i]; } if(distance<300) value=0.5*distance; else value=0.5*300+0.35*(distance-300); printf("%c站-->%c站的火車票費用為%.2f元\n",start,end,value);printf("是否繼續(xù)(Y/N)"); scanf("%c",&ctn);getchar(); if(ctn!='Y')break; system("cls");}return0;}lesson9_03.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5根據(jù)需求對數(shù)據(jù)進行統(tǒng)計

為了滿足特定的需要,對一組數(shù)據(jù)的某些特征進行統(tǒng)計是一項經(jīng)常遇到的基本操作。例如,統(tǒng)計一段文本中某個字符出現(xiàn)的頻率;統(tǒng)計學生考試的平均成績等等都屬于統(tǒng)計操作。統(tǒng)計操作的結(jié)果往往是通過對所有數(shù)據(jù)進行掃描、判斷或綜合加工得到的。在C程序中,參與統(tǒng)計操作的批量數(shù)據(jù)可以用一維數(shù)組來組織,具體統(tǒng)計過程可以通過邏輯判斷、累計、算術(shù)運算等基本操作手段實現(xiàn)。

2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作例4:統(tǒng)計一段文本中每個英文字母出現(xiàn)的次數(shù)。分析:定義一個數(shù)組letter,存放英文字母出現(xiàn)的次數(shù)00000000letterA的次數(shù)B的次數(shù)C的次數(shù)循環(huán)字符數(shù)組,針對每個字母,找到其在數(shù)組letter中的對應(yīng)位置,然后加13數(shù)組應(yīng)用52022/12/16電氣與信息工程學院計算機系制作例4:統(tǒng)計2022/12/19電氣與信息工程學院計算機系制作00000000letterA的次數(shù)B的次數(shù)C的次數(shù)如何確定每個字母在letter中的位置呢?A對應(yīng)letter[0]B對應(yīng)letter[1]C對應(yīng)letter[2]下標:0‘A’-’A’下標:1‘B’-’A’下標:2‘C’-’A’3數(shù)組應(yīng)用52022/12/16電氣與信息工程學院計算機系制作000002022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#defineNUM26intmain(){intletter[NUM]={0}; charch;inti;printf("\nEntertextline\n");while((ch=getchar())!='\n'){ if('A'<=ch&&ch<='Z'){ /*檢測是否為大寫字母*/letter[ch-'A']=letter[ch-'A']+1;}elseif('a'<=ch&&ch<='z')/*檢測是否為小寫字母*/letter[ch-'a']=letter[ch-'a']+1;}

for(i=0;i<NUM;i++){/*輸出每個英文字母出現(xiàn)的次數(shù)*/printf("\n\'%c\':%d",'A'+i,letter[i]);}return0;}lesson9_04.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3課后練習7將一個數(shù)組逆序。例如,輸入12345678910

輸出10987654321從鍵盤輸入10個數(shù),求最大值和最小值的差2022/12/16電氣與信息工程學院計算機系制作3課后練習2022/12/19電氣與信息工程學院計算機系制作Lesson9數(shù)據(jù)的組織2022/12/16電氣與信息工程學院計算機系制作Lesso2022/12/19電氣與信息工程學院計算機系制作學習目標:31學會使用數(shù)組處理程序中的數(shù)據(jù)2022/12/16電氣與信息工程學院計算機系制作學習目標:2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2向量數(shù)學定義:一組既有大小又有方向的量例如:向量d:(1,3,4,6,5,2,0,8)向量b:(100,300,200,400)特點:1、是一組量2、有方向性,即每個數(shù)據(jù)在其中有位置2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2在C語言中,數(shù)組與向量對應(yīng),可以實現(xiàn)處理與向量相關(guān)的問題數(shù)組:若干類型相同的相關(guān)數(shù)據(jù)(變量)順序排列在一起例如:向量d:(1,3,4,6,5,2,0,8)465208132022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2數(shù)組類型的應(yīng)用背景(處理向量問題)(1)同時存在若干個用來描述同一性質(zhì)且不同個體的數(shù)據(jù)(向量)。(2)只有將這些數(shù)據(jù)組織在一起形成批量數(shù)據(jù),使用循環(huán)進行處理。2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3類型數(shù)組名[長度]定義數(shù)組一般形式:intarray[10]例:floatf[100];charch[5];所有元素都是int數(shù)組名長度:10注意:必須是常量數(shù)組:array2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2數(shù)組名:d用位置(下標)表示。注:下標從0開始d[0]d[1]d[2]d[3]d[4]d[5]d[6]d[7]數(shù)組特性:1、有統(tǒng)一的名字,即數(shù)組名3、可通過變量在其中的位置來表示它2、多個變量有序的排列4、數(shù)組中的變量叫數(shù)組元素,它在其中的位置叫下標2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3數(shù)組定義后的元素初值是隨機數(shù)一般需要我們來初始化inta[10]={1,2,3,4,5,6,9,0,12,-1};inta[]={11,22,33,44,55};inta[5]={1};1234569012-1省略時,長度為5,2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組3數(shù)組元素的引用<數(shù)組變量名>[<下標表達式>]例:d[3];#include<stdio.h>intmain(){intd[10]={1,0,4,2,3,4,5,6,30,40},s;s=d[0]+d[1]+d[4]+d[8];printf(“s=%d”,s);return0;}d[2]d[6]d2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2例:從鍵盤輸入一個數(shù),按二進制形式輸出分析:將一個數(shù)的所有二進制位看成一個向量例如:如果輸入的是82則是(0,1,0,1,0,0,1,0)問題轉(zhuǎn)換成如何求該向量2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2C語言中的數(shù)組可以表示向量則向量a(0,1,0,1,0,0,1,0)在C語言中就是01001001數(shù)組a因此問題轉(zhuǎn)換成如果給數(shù)組a中的元素賦值提問:如何賦值,有沒有規(guī)律?2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2從鍵盤輸入的是82d[7]=0d[6]=1d[5]=0d[4]=0d[3]=1d[2]=0d[1]=1d[0]=0最后按照順序輸出d[0]—d[7]的值

d[7]=n%2;n=n/2;d[6]=n%2;n=n/2;d[5]=n%2;n=n/2;d[4]=n%2;n=n/2;d[3]=n%2;n=n/2;d[2]=n%2;n=n/2;d[1]=n%2;n=n/2;d[0]=n%2;n=n/2;2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2思路1、定義一個數(shù)組,長度為82、定義變量n,i,n放所要轉(zhuǎn)換的數(shù),i作為訪問數(shù)組中變量的位置3、從第7個開始,往前逐個給數(shù)組中的變量賦值4、從第0個開始,往后逐個輸出數(shù)組中的變量2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作流程圖2022/12/16電氣與信息工程學院計算機系制作流程圖2022/12/19電氣與信息工程學院計算機系制作3數(shù)組概念2#include<stdio.h> intmain(){intd[8],n,i;scanf("%d",&n);for(i=7;i>=0;i--){ d[i]=n%2; n=n/2;}for(i=0;i<=7;i++){ printf("%d",d[i]);}system("pause");return0;}2022/12/16電氣與信息工程學院計算機系制作3數(shù)組概念2022/12/19電氣與信息工程學院計算機系制作3數(shù)組的妙用3例:輸出數(shù)列1,1,2,3,5,8……的前20項11235813213455思路:將數(shù)列看成一向量1、定義一個長度20個的數(shù)組表示向量2、根據(jù)位置關(guān)系逐個計算每個變量(元素)的值2022/12/16電氣與信息工程學院計算機系制作3數(shù)組的妙2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#defineNUM100 intmain(){intf[NUM],i;f[0]=1;f[1]=1;for(i=2;i<NUM;i++){f[i]=f[i-1]+f[i-2];}

for(i=0;i<NUM;i++){printf(“%d,”,f[i]);}return0;}lesson9_01.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3數(shù)組的妙用:課堂練習3求S=1/1+1/2+2/3+3/5+5/8+8/13+……后面20項的和分析s=1/1+1/2+2/3+3/5+5/8+……

式中各項都是11235813…數(shù)列中的值,將其求出來放在數(shù)組中,然后逐個相除2022/12/16電氣與信息工程學院計算機系制作3數(shù)組的妙2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組的基本操作4數(shù)組的賦值利用賦值語句為數(shù)組賦值

for(i=0;i<10;i++){vote[i]=0;}調(diào)用標準輸入函數(shù)為數(shù)組賦值

for(i=0;i<10;i++){scanf(“%d”,&vote[i]);}intvote[10];2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3一維數(shù)組的基本操作4數(shù)組的輸出

for(i=0;i<10;i++){printf(“%5d”,vote[i]);}intvote[10];2022/12/16電氣與信息工程學院計算機系制作3一維數(shù)組2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5數(shù)組大小最好用宏來定義,以適應(yīng)未來可能的變化#defineSIZE10

inta[SIZE];注意:1、數(shù)組一旦定義,不能改變大小2、訪問數(shù)組元素時,下標不能超過長度,即下標有效范圍[0,len)3、數(shù)組間不能整體賦值2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用6如果有數(shù)組inta[10]={1,2,4,5,3,6,7,8,9,0};intb[10];如果需要使數(shù)組b中元素的值與a的一樣b=a(Ⅹ是錯誤的)正確做法for(i=0;i<10;i++)b[i]=a[i];2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3課堂練習6從鍵盤輸入某班10位同學C語言學習成績,輸出最高分2022/12/16電氣與信息工程學院計算機系制作3課堂練習2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5例2:使用篩選法輸出18內(nèi)的所有素數(shù)23456789101112131415161712180000000030042022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#include<math.h>#defineNUM18 intmain(){intdata[NUM],i,j,n;for(i=0;i<NUM;i++)/*給數(shù)組的元素賦值*/data[i]=i+1;n=sqrt(NUM);for(i=1;i<n;i++)/*將數(shù)組中非素數(shù)置成0*/for(j=i+1;j<NUM;j++)if(data[i]!=0&&data[j]%data[i]==0)data[j]=0;for(i=1;i<NUM;i++)/*輸出*/if(data[i]!=0)printf("%6d",data[i]);return0;}lesson9_02.c2022/12/16電氣與信息工程學院計算機系制作#incl2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5例3:已知在一條鐵路上有十個站:

A,B,C,D,E,F,G,H,I,J,如下圖所示127ABCDEFGHJI10020056131389875火車票費用計算規(guī)則:當乘車距離<300公里時,每公里0.5元,>=300公里時,超過部分每公里0.3元,設(shè)計一個程序,輸入兩個站的站名,計算其應(yīng)付的火車票費用882022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用5問題分析使用數(shù)組保存相鄰站之間的距離通過站名計算乘車距離計算火車票費用2022/12/16電氣與信息工程學院計算機系制作3數(shù)組應(yīng)用2022/12/19電氣與信息工程學院計算機系制作#include<stdio.h>#defineNUM9 /*段數(shù)*/intmain(){intline[NUM]={100,200,56,131,38,98,75,88,127},i,distance=0; floatvalue;charstart,end,ctn;while(1){ printf("請輸入乘車起點站\n"); scanf("%c",&start);getchar(); printf("請輸入乘車終站\n"); scanf("%c",&end);getchar(); for(i=start-'A';i<end-'A';i++){ distance+=line[i]; } if(distance<300) value=0.5*distance; else value=0.5*300+0.35*(distance-300); printf("%c站-->%c站的火車票費用為%.2f元\n",start,end,value);printf("是否繼續(xù)(Y/N)"); scanf("%c",&ctn);getchar(); if(ctn!='Y')break; system("cls");}return0;}lesson9_03.c2022/12/1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論