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

正文內(nèi)容

c語言程序設(shè)計(jì)(中)ppt-文庫吧

2025-01-04 07:15 本頁面


【正文】 rd)。 } 【 例 】 從鍵盤輸入一個(gè)長度不超過 80個(gè)字符的字符串,統(tǒng)計(jì)其中各字母出現(xiàn)的次數(shù)(不區(qū)分字母的大小寫)。 include void main() { int i,k,a[26]={0}。 char str[81]。 gets(str)。 //輸入字符串 i=0。 while(str[i]) { k=str[i]。 //順序取出各個(gè)字符 if (k= 39。A39。amp。amp。k= 39。Z39。) a[k65]+=1。 //統(tǒng)計(jì)大寫字母出現(xiàn)的次數(shù) else if (k= 39。a39。amp。amp。k=39。z39。) a[k97]+=1。 //統(tǒng)計(jì)小寫字母出現(xiàn)的次數(shù) i++。 } for (i=0。i26。i++) if (a[i]0) //不顯示未出現(xiàn)的字母次數(shù) printf(%c %d\n,i+65,a[i])。 } 常用字符串處理函數(shù) strlen() 調(diào)用格式 : strlen(str)。 功能: 計(jì)算字符串 str的長度,即字符串中包含的字符個(gè)數(shù) (不包括字符串末尾的’ \0’ 字符 )。 【 例 】 用 strlen函數(shù)測試給定字符串的長度。 include include void main() { char s[]=ab\n\012\\\。 printf(%d ,strlen(s))。 s[3]=0。 printf(%d\n,strlen(s))。 } strcpy() 調(diào)用格式 : strcpy(str1, str2)。 功能: 將 str2拷貝到 str1中,而 str2不變 【 例 】 字符串拷貝函數(shù)的使用示例。 include include void main() { char str[2][4]。 strcpy(str[0],you)。 strcpy(str[1],me)。 printf(%s %s\n,str[0],str[1])。 str[0][3]=39。amp。39。 printf(%s %s\n,str[0],str[1])。 } strcmp() 調(diào)用格式: strcmp(str1,str2)。 功能: 對 str1和 str2從左至右逐個(gè)字符進(jìn)行比較(按其ASCII代碼值比較),直到出現(xiàn)不同的字符或遇到 39。\039。為止。比較后的結(jié)果作為函數(shù)值返回: 若 str1=str2,則函數(shù) 返回 0值; 若 str1字符串 2,則函數(shù) 返回一正整數(shù) ,其值為二字符ASCII代碼值的差; 若 str1str2,則函數(shù) 返回一負(fù)整數(shù) ,其值為二字符ASCII代碼值的差。 include include void main() { char str[][10]={Book,Basic,Boolen, Babble,Bascket},st[10]。 strcpy(st,str[0])。 for(int i=1。i5。i++) if(strcmp(st,str[i])0) strcpy(st,str[i])。 printf(Minimum string is %s\n,st)。 } 【 例 】 編制程序,從給定的 5個(gè)字符串中找出最小的字符串。 4. 字符串連接函數(shù) strcat() 調(diào)用格式: strcat(str1,str2)。 功能: 將 str2連接到 str1的末尾, str2不變,而 str1末尾的’ \0’ 字符將被 str2的第 1個(gè)字符取代。 【 例 】 字符串連接函數(shù)的使用示例。 include include void main() { char s1[7]=ABC,s2[]=xyz,str[50]=abc。 strcat(str,strcat(s1,s2))。 printf(%s,str)。 } 常用算法 【 例 】 統(tǒng)計(jì)某班某門課考試成績各分?jǐn)?shù)檔人數(shù)。 include void main() { int a[11]={0},i。 float x。 for(i=1。i=30。i++) { scanf(%f,amp。x)。 a[(int)x/10]+=1。 //存放各分?jǐn)?shù)檔人數(shù) } printf(09 1019 2029 3039 4049 5059 6069 7079 8089 9099 100\n)。 for(i=0。i11。i++) printf(%3d ,a[i])。 } 數(shù)據(jù)統(tǒng)計(jì) 【 例 】 請編制程序,首先生成一個(gè)整型方陣 a[4][4],其每個(gè)元素都是不超過 100的隨機(jī)整數(shù),然后求其主對角線和次對角線上的元素之和。 include include include void main() { int a[4][4],i,j,sum1=0,sum2=0。 srand((unsigned)time(NULL))。 //按時(shí)間產(chǎn)生不同的隨機(jī)數(shù)序列 for (i=0。i4。i++) for (j=0。j4。j++) a[i][j]= rand()*100/32767。 //生成不超過 100的隨機(jī)整數(shù) for (i=0。i4。i++) { sum1=sum1+a[i][i]。 //計(jì)算主對角線元素之和 sum2=sum2+a[i][3i]。 //計(jì)算次對角線元素之和 } printf(SUM1=%d,SUM2=%d\n,sum1,sum2)。 } 【 例 】 某次大獎(jiǎng)賽,有 7個(gè)評委給每一位參賽者打分,去掉一個(gè)最高分和一個(gè)最低分,求該參賽者的平均分。 include void main() { int i。 float a[7],max,min,aver。 for (i=0。i7。i++) scanf(%f,amp。a[i])。 max=min=aver=a[0]。 for (i=1。i7。i++) { if (maxa[i]) //找最高分 max=a[i]。 if (mina[i]) //找最低分 min=a[i]。 aver+=a[i]。 //求累加和 } aver=(avermaxmin)/5。 //去掉一個(gè)最高分和最低分求平均分 printf(Mark=%.2f\n,aver)。 } 【 例 】 選擇排序。假設(shè)有 10個(gè)數(shù),要求將它們按從小到大的順序排列。 選擇排序的基本思路: ①若有 n個(gè)數(shù)需要排序,則需要進(jìn)行 n1輪排序; ②第 1輪有 n個(gè)數(shù)參加排序,此后,每一輪參加排序的數(shù)據(jù)個(gè)數(shù)逐次減少,即第 2輪有后 n1個(gè),第 n1輪只剩下后 2個(gè); ③在第 i輪排序時(shí),要將 a[i]與其后的各個(gè)數(shù)進(jìn)行比較,凡出現(xiàn)比 a[i]大的數(shù)就記下它的位置 j,這一輪結(jié)束后,將 a[i]與 a[i]交換位置,從而找到第 i大的元素。 排序 1. 選擇排序 原始數(shù)據(jù): 1 3 5 2 6 7 0 4 9 8 第 1輪: 9 3 5 2 6 7 0 4 1 8 a[1]與 a[9]交換 第 2輪: 9 8 5 2 6 7 0 4 1 3 a[2]與 a[10]交換 第 3輪: 9 8 7 6 2 5 0 4 1 3 a[3]與 a[6]交換 第 4輪: 9 8 7 6 2 5 0 4 1 3 a[4]與 a[5]交換 第 5輪: 9 8 7 6 5 2 0 4 1 3 a[5]與 a[6]交換 第 6輪: 9 8 7 6 5 4 0 2 1 3 a[6]與 a[8]交換 第 7輪: 9 8 7 6 5 4 3 2 1 0 a[7]與 a[10]交換 第 8輪: 9 8 7 6 5 4 3 2 1 0 a[8]不交換 第 9輪: 9 8 7 6 5 4 3 2 1 0 a[9]不交換 經(jīng)過 9輪比較和交換后,整個(gè)數(shù)組即變成有序。 選擇排序總共要進(jìn)行 (n1)+(n2)+...+1=n(n1)/2次比較 和最多 n1次交換 ,是一種比較簡單但效率較低的排序方法。 include const int N=10。 void main() { int i,j,k。 float a[N],t。 for (i=0。iN。i++) scanf(%f,amp。a[i])。 for (i=0。iN1。i++) { k=i。 for (j=i+1。jN。j++) if (a[k]a[j]) k=j。 if (i!=k) { t=a[i]。 a[i]=a[k]。 a[k]=t。 } } for (i=0。iN。i++) printf(%%c,a[i],(i%5==4||i==N1)?39。\n39。:39。 39。)。 } 【 例 】 冒泡排序。要求將保存在數(shù)組 a[10]中的數(shù)按從小到大的順序排序。 冒泡排序的基本思路: ①若有 n個(gè)數(shù)需要排序,則需要進(jìn)行 n1輪排序; ②第 1輪參加排序的數(shù)有 n個(gè),此后,每一輪參加排序的數(shù)據(jù)個(gè)數(shù)逐次減少,即第 2輪有前 n1個(gè),第 n1輪只剩下前 2個(gè); ③每一輪排序,都是進(jìn)行相鄰兩個(gè)數(shù)的比較,即 a[0]與a[1], a[1]與 a[2]比較,當(dāng)不滿足規(guī)定的順序時(shí)就進(jìn)行交換。該輪排序結(jié)束時(shí),大數(shù)沉底,小數(shù)上浮一個(gè)位置,就像氣泡一樣。 2. 冒泡排序 原始數(shù)據(jù): 1 3 5 2 6 7 0 4 9 8 第 1輪: 1 3 2 5 6 0 4 7 8 9 第 2輪: 1 2 3 5 0 4 6 7 8 9 第 3輪: 1 2 3 0 5 4 6 7 8 9 第 4輪: 1 2 0 3 4 5 6 7 8 9 第 5輪: 1 0 2 3 4 5 6 7 8 9 答 6輪: 0 1 2 3 4 5 6 7 8 9 第 7輪: 0 1 2 3 4 5 6 7 8 9 第 8輪: 0 1 2 3 4 5 6 7 8 9 第 9輪: 0 1 2 3 4 5 6 7 8 9 include const int N=10。 void main() { int i,j。 float a[N],t。 for (i=0。iN。i++) scanf(%f,amp。a[i])。 for (i=0。iN1。i++) for (j=0。jNi1。j++) if (a[j]a[j+1]) { t=a[j]。a[j]=a[j+1]。a[j+1]=t。} for
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1