




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章
數(shù)組目錄一維數(shù)組數(shù)組排序數(shù)組查找字符數(shù)組與字符串二維數(shù)組216:12為了方便存儲(chǔ)和處理批量數(shù)據(jù),提高程序設(shè)計(jì)的效率,通常把具有相同類型的批量元素按有序的形式組織起來(lái),這些有序排列的同類數(shù)據(jù)元素的集合就稱為數(shù)組,組成數(shù)組的各個(gè)變量就稱為數(shù)組的元素。數(shù)組明確地反映了數(shù)據(jù)間的聯(lián)系,含義清晰且使用方便,將其與循環(huán)有機(jī)結(jié)合處理批量數(shù)據(jù),有利于提高程序設(shè)計(jì)的效率,增強(qiáng)了程序的可讀性。316:121.一維數(shù)組(定義與引用)在C語(yǔ)言中使用數(shù)組必須先定義后使用,定義一維數(shù)組的一般格式如下:類型說(shuō)明符數(shù)組名[常量表達(dá)式];其中,類型說(shuō)明符是任意一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型,它定義了全體數(shù)組成員的數(shù)據(jù)類型;數(shù)組名是標(biāo)識(shí)數(shù)組的名稱,與變量命名規(guī)則相同;方括號(hào)中的常量表達(dá)式代表數(shù)組元素的個(gè)數(shù),也稱為數(shù)組的長(zhǎng)度。注意,數(shù)組元素的下標(biāo)從0開(kāi)始計(jì)算。例如:int
a[10];
//定義一個(gè)10個(gè)元素的整型數(shù)組a,其元素是a[0]~a[9]double
b[10]; //定義一個(gè)10個(gè)元素的浮點(diǎn)型數(shù)組b,其元素分別是b[0]~b[9]char
c[30];
//定義一個(gè)30個(gè)元素的字符數(shù)組c,其元素是c[0]~c[29]返回416:121.一維數(shù)組(初始化)可以在定義數(shù)組時(shí)為元素賦初值,若定義數(shù)組時(shí)未賦初值則元素值是無(wú)意義的隨機(jī)值。若僅給部分元素賦初值,則整型數(shù)組中未被賦值的元素自動(dòng)賦值0,字符數(shù)組中未被賦值的元素自動(dòng)賦值'\0'。如:int
a[10]={0,1,2,3,4,5,6,7,8,9}; //全體元素賦值,a[0]~a[9]分別賦值為0~9int
a[10]={1,2,3}; //前3個(gè)元素賦值為1,2,3,后7個(gè)元素值為0char
c[20]={'C','+','+'}; //前3個(gè)元素賦值,其余元素值為'\0‘int
a[3]={1,2,3,4}; //賦值數(shù)目不允許超過(guò)數(shù)組容量,否則編譯時(shí)會(huì)報(bào)錯(cuò)516:12例5.1:輸入一個(gè)非負(fù)十進(jìn)制整數(shù),將其轉(zhuǎn)換為二進(jìn)制形式輸出。
輸入:一個(gè)非負(fù)整數(shù)n(0<=n<2^31)。
輸出:對(duì)應(yīng)的二進(jìn)制形式。#include<iostream>usingnamespacestd;intmain(){ intn,i,a[32]; cin>>n; if(n==0){cout<<"0"<<endl;return0;} for(i=0;n!=0;i++) { a[i]=n%2; n=n/2; } for(i--;i>=0;i--)cout<<a[i];return0;}616:12例5.2:一個(gè)非遞減有序的整型數(shù)組有n個(gè)元素,給定一個(gè)整數(shù)num,將num插入該序列的適當(dāng)位置,使序列仍保持非遞減有序。
輸入:輸入有三行。第一行是一個(gè)正整數(shù)n(n<=1000)。第二行是n個(gè)整數(shù),第三行是待插入整數(shù)num。
輸出:輸出非遞減有序的n+1個(gè)整數(shù),數(shù)據(jù)之間用空格隔開(kāi)。輸出占一行。#include<iostream>usingnamespacestd;intmain(){ intn,i,num; cin>>n; inta[1001]; for(i=0;i<n;i++) cin>>a[i]; cin>>num; for(i=n-1;i>=0&&a[i]>num;i--) a[i+1]=a[i]; a[i+1]=num; for(i=0;i<=n;i++) cout<<a[i]<<""; return0;}716:122.?dāng)?shù)組排序在實(shí)際開(kāi)發(fā)中,經(jīng)常需要將數(shù)組元素按照從大到?。ɑ蛘邚男〉酱螅┑捻樞蚺帕校@樣在查閱數(shù)據(jù)時(shí)會(huì)更加方便直觀。數(shù)組元素進(jìn)行排序的方法有很多種,如選擇排序、冒泡排序、插入排序、快速排序、歸并排序等。返回816:12例5.3:對(duì)一維數(shù)組按照從小到大的順序排序。
輸入:第一行輸入一個(gè)整數(shù)n(1<=n<=100)表示數(shù)組有n個(gè)整數(shù);第二行輸入n個(gè)整數(shù)。
輸出:對(duì)這n個(gè)整數(shù)按照從小到大的順序輸出,數(shù)據(jù)之間用一個(gè)空格隔開(kāi)。#include<iostream> //解法1:選擇排序usingnamespacestd;intmain(){ intn,a[100],i,j; cin>>n; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n;i++){ intmin=i; for(j=i+1;j<n;j++)
if(a[j]<a[min])min=j; intt=a[min];a[min]=a[i];a[i]=t; } for(i=0;i<n;i++) cout<<a[i]<<""; return0;}916:12#include<iostream> //解法2:冒泡排序usingnamespacestd;intmain(){ intn,a[100],i,j,temp; cin>>n; for(i=0;i<n;i++) cin>>a[i]; for(i=n-1;i>=1;i--) for(j=0;j<i;j++) if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } for(i=0;i<n;i++) cout<<a[i]<<""; return0;}1016:12#include<iostream> //解法3:插入排序usingnamespacestd;intmain(){ intn,a[100],i,j,k,temp; cin>>n; for(i=0;i<n;i++)cin>>a[i]; for(i=0;i<n;i++){ for(j=i-1;j>=0;j--)if(a[i]>=a[j])break; //為a[i]尋找插入位置j+1 if(j!=i-1) { temp=a[i]; for(k=i-1;k>j;k--)a[k+1]=a[k]; a[k+1]=temp; } } for(i=0;i<n;i++)cout<<a[i]<<""; return0;}1116:12例5.4:已知數(shù)組a中有m個(gè)按升序排列的元素,數(shù)組b中有n個(gè)按降序排列的元素,編程將a與b中的所有元素按降序存入數(shù)組c中。輸入:輸入有兩行,第一行首先是一個(gè)正整數(shù)m,然后是m個(gè)整數(shù);第二行首先是一個(gè)正整數(shù)n,然后是n個(gè)整數(shù),m,n均小于等于1000000。
輸出:輸出合并后的m+n個(gè)整數(shù),數(shù)據(jù)之間用空格隔開(kāi)。輸出占一行。#include<iostream>usingnamespacestd;constintN=1000000;inta[N],b[N],c[2*N];intmain(){ intm,n,i,j,k; cin>>m; for(i=0;i<m;i++) cin>>a[i]; cin>>n; for(i=0;i<n;i++) cin>>b[i]; i=m-1;j=0;k=0;
while(i>=0&&j<n) { if(a[i]>b[j])c[k++]=a[i--]; elsec[k++]=b[j++]; } while(i>=0) c[k++]=a[i--]; while(j<n) c[k++]=b[j++]; for(i=0;i<m+n;i++) cout<<c[i]<<""; return0;}1216:123.?dāng)?shù)組查找例5.5:數(shù)組a有n個(gè)元素,請(qǐng)輸出n個(gè)元素的最小值及其下標(biāo)。若最小值有多個(gè),請(qǐng)輸出下標(biāo)最小的一個(gè)。注意,有效下標(biāo)從0開(kāi)始。輸入:輸入分兩行,第一行是一個(gè)正整數(shù)n(n<=1000),第二行是n個(gè)整數(shù)。輸出:輸出占一行。輸出數(shù)組的最小值及其下標(biāo),用空格隔開(kāi)。#include<iostream>usingnamespacestd;intmain(){ inti,n; cin>>n; inta[1001]; for(i=0;i<n;i++) cin>>a[i];
intmin=0; for(i=1;i<n;i++) if(a[i]<a[min])min=i; cout<<a[min]<<""<<min<<endl; return0;}返回1316:12例5.6:學(xué)校推出了10名歌手,每個(gè)歌手都有唯一編號(hào)(0~9)。校學(xué)生會(huì)想知道這些歌手受歡迎的程序,設(shè)了一個(gè)投票箱,讓每一個(gè)同學(xué)給自己喜歡的歌手投票,同學(xué)們使用歌手編號(hào)進(jìn)行投票?,F(xiàn)在學(xué)生會(huì)找你幫忙統(tǒng)計(jì)一下每位歌手獲得的票數(shù),并頒發(fā)“最受歡迎歌手獎(jiǎng)”,該獎(jiǎng)項(xiàng)頒發(fā)給得票最多的歌手。若有多名歌手并列第一,則均可獲獎(jiǎng)。輸入:輸入若干個(gè)整數(shù),表示投票的歌手編號(hào),以一個(gè)負(fù)數(shù)作為輸入結(jié)束的標(biāo)志。
輸出:出現(xiàn)次數(shù)最多的編號(hào)。若有多個(gè)則按從小到大順序輸出選手編號(hào)(用空格隔開(kāi))。include<iostream>usingnamespacestd;intmain(){ inti,a[10]={0}; intnum; while(cin>>num&&num>=0) a[num]++; intmax=a[0]; for(i=1;i<10;i++) if(a[i]>max)max=a[i]; for(i=0;i<10;i++) if(a[i]==max)cout<<i<<""; return0;}1416:12例5.7:輸入從小到大排好序的n個(gè)元素,找出某元素第一次出現(xiàn)的位置。
輸入:輸入分三行,第一行是一個(gè)正整數(shù)n(n<1000),第二行是n個(gè)整數(shù),第三行為一個(gè)整數(shù)x表示待查找的元素。
輸出:如果x在序列中,則輸出x第一次出現(xiàn)的位置,否則輸出-1。#include<iostream>usingnamespacestd;intmain(){ intn,x; cin>>n; inta[1001]; for(inti=1;i<=n;i++) cin>>a[i]; cin>>x; intlow=1,high=n,mid; while(low<=high) { mid=(low+high)/2; if(a[mid]==x)break; if(x>a[mid])low=mid+1; elsehigh=mid-1; } if(low>high)cout<<"-1"; else{ while(mid>1&&a[mid]==a[mid-1]) mid--; cout<<mid; } return0;}1516:124.字符數(shù)組與字符串(字符數(shù)組的初始化)在C語(yǔ)言中,字符數(shù)組是字符類型元素構(gòu)成的數(shù)組。定義字符數(shù)組的一般格式如下:char數(shù)組名[常量表達(dá)式];
對(duì)于字符數(shù)組的初始化,可以在定義時(shí)對(duì)每個(gè)元素逐一初始化,也可以在定義時(shí)直接用雙引號(hào)引起來(lái)的一串字符實(shí)現(xiàn)初始化。例如:chara[10]={‘1’,‘2’,‘3’,‘4’,‘5’,‘6’};chara[10]={“123456”}; //chara[10]=“123456”;
以上是兩個(gè)等價(jià)的字符數(shù)組初始化定義。但是,在使用雙引號(hào)形式初始化時(shí),字符串常量的字符個(gè)數(shù)必須比所定義的數(shù)組容量少一個(gè)以上。因?yàn)榇朔N情況下,系統(tǒng)會(huì)自動(dòng)在有效字符結(jié)束時(shí)附加一個(gè)‘\0’作為結(jié)束標(biāo)志。在編寫程序時(shí),通常依據(jù)當(dāng)前字符與‘\0’是否相等來(lái)判斷字符串是否結(jié)束。返回1616:124.字符數(shù)組與字符串(字符串的輸入輸出)C語(yǔ)言不提供“字符串”數(shù)據(jù)類型,而是運(yùn)用一個(gè)字符數(shù)組來(lái)模擬存放一個(gè)字符串,只是在字符串的有效字符結(jié)束時(shí)附加一個(gè)字符‘\0’作為結(jié)束。字符數(shù)組可以使用格式符“%c”逐個(gè)輸入或輸出一個(gè)字符,也可以使用格式符“%s”一次輸入或輸出整個(gè)字符串。例如:charc[100]={“Ilovec++programming!”};printf(“%s\n”,c); //從第0個(gè)字符起依次逐個(gè)輸出當(dāng)前字符,若當(dāng)前字符為‘\0’則結(jié)束說(shuō)明:(1)使用格式符“%s”輸出字符串時(shí),printf的輸出項(xiàng)是字符數(shù)組名,代表字符串的起始地址。不能寫成
printf(“%s\n”,c[0]);
,否則編譯時(shí)會(huì)報(bào)錯(cuò)。(2)輸出時(shí)從字符數(shù)組的第0個(gè)字符起依次逐個(gè)輸出當(dāng)前字符,第一次遇到當(dāng)前字符為‘\0’時(shí)輸出自動(dòng)結(jié)束,且輸出字符不包括‘\0’。(3)可以使用scanf函數(shù)輸入一個(gè)字符串,如
scanf(“%s”,c);
,系統(tǒng)檢測(cè)輸入的字符串,遇到換行或空格時(shí)自動(dòng)加一個(gè)‘\0’字符作為結(jié)束標(biāo)志。(4)若要輸入其中含有空格的字符串,則須使用
gets(c);;除此之處,輸出字符串時(shí)可使用
puts(c);,其功能與語(yǔ)句
printf(“%s\n”,c);
等價(jià)。1716:124.字符數(shù)組與字符串(C語(yǔ)言的字符串處理函數(shù))C語(yǔ)言專門提供了一系列處理字符串的函數(shù)。幾種常用的字符串處理函數(shù)見(jiàn)表5.1。18格式說(shuō)明unsignedintstrlen(charstr[])統(tǒng)計(jì)str中字符的個(gè)數(shù),不包括結(jié)束符‘\0’char*strcat(char*str1,char*str2)將字符串str2連接到str1后,str1后的‘\0’被取消char*strchr(char*str,charch)字符串str中第一次出現(xiàn)字符ch的位置intstrcmp(char*str1,char*str2)按字典序比較str1和str2,<返回負(fù)數(shù)、=返回0、>返回正數(shù)char*strcpy(char*str1,char*str2)將字符串str2的值復(fù)制給str116:12例5.8:輸入一個(gè)以回車結(jié)束的字符串,該字符串由數(shù)字和字母組成。請(qǐng)過(guò)濾掉所有非數(shù)字字符,然后將數(shù)字字符串轉(zhuǎn)換成十進(jìn)制整數(shù)后乘以2輸出。
輸入:輸入一個(gè)以回車符結(jié)束的字符串,長(zhǎng)度不超過(guò)100,由數(shù)字和字母組成。
輸出:將轉(zhuǎn)換后的整數(shù)乘以2輸出,測(cè)試數(shù)據(jù)保證結(jié)果在整數(shù)范圍內(nèi)輸入樣例:sg987aa65t498。輸出樣例:197530996。#include<iostream>usingnamespacestd;intmain(){ charc[200],b[200]; gets(c); //以cin.getline(c,200);代替
inti=0,j=0,sum=0; while(c[i]) { if(c[i]>='0'&&c[i]<='9')sum=sum*10+c[i]-'0'; i++; } cout<<sum*2<<endl; return0;}1916:124.字符數(shù)組與字符串(C++的字符串處理)C++兼容C的字符串表示與處理方式,同時(shí)引入了string類表示字符串類型,因此C++中可以直接定義一個(gè)字符串變量。C++中的字符串使用方式如下: strings1="c",s2="programming"; //定義字符串變量s1,s2并賦初值 s1="c++"; //s1重新賦值 s1=s1+s2; //s1值更改為"c++programming",注意兩個(gè)字符串常量不能相加C++支持"cin>>s1;"輸入字符串變量的值,同時(shí)能夠直接利用6種比較關(guān)系運(yùn)算符實(shí)現(xiàn)字符串之間的按字典序比較。string類的主要函數(shù)與運(yùn)算見(jiàn)表5.2。20格式說(shuō)明size()求字符串長(zhǎng)度,等同于length()s[i]取字符串s的第i個(gè)字符getline(cin,s)讀入一整行給s直到換行,包括讀入空格substr(i,len)從下標(biāo)i開(kāi)始,到下標(biāo)i+len-1結(jié)束取長(zhǎng)度為len的子串insert(i,s)在字符串的第i個(gè)位置插入serase(i,len)刪除字符串第i個(gè)位置開(kāi)始的len個(gè)字符replace(i,len,t)以字符串t替換字符串第i個(gè)位置開(kāi)始的len個(gè)字符find(subs)查找子串subs第一次出現(xiàn)的位置16:12例5.9:輸入一個(gè)1到7之間的數(shù)字,表示星期一到星期日,輸出相應(yīng)的英文:Mon、Tue、Wed、Thur、Fri、Sat、Sun。輸入:輸入一個(gè)1到7之間的數(shù)字。輸出:輸出與數(shù)字對(duì)應(yīng)的英文。#include<iostream>usingnamespacestd;intmain(){ stringdayName[8]={"","Mon","Tue","Wed","Thur","Fri","Sat","Sun"}; intday; cin>>day; cout<<dayName[day]<<endl; return0;}2116:12例5.10:輸入一個(gè)0和1字符組成的二進(jìn)制字符串,請(qǐng)轉(zhuǎn)換成十六進(jìn)制。
輸入:輸入一個(gè)0/1字符串,長(zhǎng)度小于100000。(如:11010100101)
輸出:輸出1行轉(zhuǎn)換后的十六進(jìn)制。(6A5)#include<iostream>usingnamespacestd;intmain(){ strings,ans=""; cin>>s; for(inti=s.size();i>0;i=i-4) { intt=0; for(intj=max(0,i-4);j<i;j++) t=t*2+(s[j]-'0'); if(t<10)ans=char(t+'0')+ans; elseans=char(t+'A'-10)+ans; } cout<<ans<<endl; return0;}2216:12例5.11:輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開(kāi)。
輸入:輸入一個(gè)以空格分隔的字符串。
輸出:字符串中的單詞個(gè)數(shù)。#include<iostream>usingnamespacestd;intmain(){ stringstr; inti,num=0,word=0; charc; getline(cin,str); //輸入一行字符串給字符字符串變量str for(i=0;(c=str[i])!='\0';i++) //只要字符不是'\0'就循環(huán) if(c=='')word=0; //若是空格字符,使word置0 elseif(word==0) //如果不是空格字符且word原值為0 { word=1; //使word置1 num++; //num累加1,表示增加一個(gè)單詞 } cout<<num<<endl; //輸出單詞數(shù) return0;}2316:12例5.12:輸入三個(gè)字符串,輸出其中按字典序最大的字符串。
輸入:輸入三個(gè)字符串。
輸出:輸出其中最大的字符串。#include<iostream>usingnamespacestd;intmain(){ strings,str[3]; //定義字符串?dāng)?shù)組 inti; for(i=0;i<3;i++)
cin>>str[i]; //讀入3個(gè)字符串,分別給str[0],str[1],str[2] if(str[0]>str[1])s=str[0]; //若str[0]大于str[1],把str[0]的字符串賦給字符數(shù)串s elses=str[1]; //若str[0]小于等于str[1],把str[1]的字符串賦給字符串s if(str[2]>s)s=str[2]; //若str[2]大于s,把字符串str[2]賦給字符數(shù)串s cout<<s<<endl; //輸出s return0;}2416:125.二維數(shù)組(定義與引用)二維數(shù)組本質(zhì)上是以一維數(shù)組為元素的數(shù)組,即“數(shù)組的數(shù)組”。二維數(shù)組又稱為矩陣,行列數(shù)相等的矩陣稱為方陣。二維數(shù)組的一般格式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];表達(dá)式1代表二維數(shù)組的行數(shù),表達(dá)式2代表二維數(shù)組的列數(shù)。C++中,二維數(shù)組在內(nèi)存中按行優(yōu)先順序存放。注意,元素的行下標(biāo)和列下標(biāo)均是從0開(kāi)始計(jì)算。例如:int
a[10][10];
//定義一個(gè)10行10列的整型二維數(shù)組a,其元素是a[0][0]~a[9][9]返回2516:125.二維數(shù)組(初始化)可以在定義二維數(shù)組時(shí)給數(shù)組元素初始化賦值,若僅給部分元素賦初值,則對(duì)int數(shù)組而言未被賦值的元素自動(dòng)賦值0,對(duì)char數(shù)組而言未被賦值的元素自動(dòng)賦值’\0’。如:int
a[2][3]={{1,2,3},{4,5,6}}; //每個(gè)花括號(hào)中3個(gè)數(shù)據(jù)對(duì)應(yīng)矩陣的1行int
a[2][3]={1,2,3,4,5,6}; //按行優(yōu)先給二維數(shù)組元素賦值,效果同上int
a[][3]={1,2,3,4,5,6}; //行可缺省,系統(tǒng)據(jù)總數(shù)目與第2維長(zhǎng)度計(jì)算第1維長(zhǎng)度int
a[][3]={{1,2,3},{},{4,5,6}}; //行可缺省,系統(tǒng)只對(duì)部分元素賦值int
a[2][3]={{1},{4}}; //部分元素賦初值,除a[0][0]=1,a[1][0]=4外其余元素賦值02616:12例5.13:輸入一個(gè)正整數(shù)n和n階方陣a中的元素,如果a是上三角矩陣則輸出“YES”,否則輸出“NO”。上三角矩陣的主對(duì)角線(不包含主對(duì)角線)以下元素均為0。
輸入:輸入一個(gè)正整數(shù)n(1<n<10)和n階方陣a中的元素,均為整數(shù)。
輸出:若a是上三角矩陣則輸出“YES”,否則輸出“NO”。#include<iostream>usingnamespacestd;constintN=10;intmain(){ intn,a[N][N]; cin>>n; for(inti=0;i<n;i++) for(intj=0;j<n;j++) cin>>a[i][j]; for(inti=0;i<n;i++) for(intj=0;j<i;j++) if(a[i][j]!=0){ cout<<"NO"<<endl; return0; } cout<<"YES"<<endl; return0;}2716:12例5.14:計(jì)算兩個(gè)矩陣A和B的乘積。
輸入:第一行三個(gè)正整數(shù)m、p、n(1<m,n,p<10),表示矩陣A是m行p列,矩陣B是p行n列;接下來(lái)的m行是矩陣A的內(nèi)容,每行p個(gè)整數(shù),以空格隔開(kāi);最后的p行是矩陣B的內(nèi)容,每行n個(gè)整數(shù),以空格隔開(kāi)。
輸出:輸出乘積矩陣,輸出占m行,每行n個(gè)數(shù)據(jù),以空格隔開(kāi)。#include<iostream>usingnamespacestd;constintN=10;intmain(){ inta[N][N],b[N][N],c[N][N]; intm,p,n; cin>>m>>p>>n; for(inti=0;i<m;i++) for(intj=0;j<p;j++) cin>>a[i][j]; for(inti=0;i<p;i++) for(intj=0;j<n;j++) cin>>b[i][j]; for(inti=0;i<m;i++) for(intj=0;j<n;j++){
c[i][j]=0; for(intk=0;k<p;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j]; } for(inti=0;i<m;i++) { for(intj=0;j<n-1;j++)cout<<c[i][j]<<""; cout<<c[i][n-1]<<endl; } return0;}2816:12例5.15:輸入一個(gè)字符串,輸出字符串中出現(xiàn)次數(shù)最多的字母。
輸入:輸入一個(gè)只含有大小寫字母和空格的字符串,長(zhǎng)度不超過(guò)100,以回車結(jié)束。
輸出:輸出一個(gè)小寫字母,表示該字符串中出現(xiàn)次數(shù)最多的字母。若有多個(gè)則只輸出ASCII碼最小的那個(gè)字母。#include<iostream>usingnamespacestd;intmain(){ strings; getline(cin,s); inta[26]={0}; for(inti=0;i<=s.length();i++) if(s[i]>='a'&&s[i]<='z')a[s[i]-'a']++; elseif(s[i]>='A'&&s[i]<='Z')a[s[i]-'A']++; intmax=0; for(inti=0;i<26;i++)if(a[max]<a[i])max=i; cout<<char(max+'a')<<endl; return0;}2916:12例5.16:輸入一個(gè)日期,輸出該日期是所在年的第幾天。
輸入:輸入一個(gè)日期。
輸出:輸出該日期是所在年的第幾天。#include<iostream>usingnamespacestd;intmain(){ intyear,month,day,leap=0,shift[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}};
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修房子合同協(xié)議書范本
- 煤源銷售合同協(xié)議書模板
- 如何簽開(kāi)發(fā)協(xié)議書合同
- 聯(lián)合辦學(xué)合同協(xié)議書
- 保險(xiǎn)賠款轉(zhuǎn)讓合同協(xié)議書
- 買賣鋼板合同協(xié)議書模板
- 《勞動(dòng)合同》變更協(xié)議書
- 協(xié)議書可以算合同嗎
- 簡(jiǎn)單解除用工合同協(xié)議書
- 軟件協(xié)議書算合同嗎
- 2025年傳統(tǒng)建筑行業(yè)的智能門窗技術(shù)
- 2025版亞馬遜FBA物流倉(cāng)儲(chǔ)及電商運(yùn)營(yíng)服務(wù)合同6篇
- 幕墻工程施工方案及述標(biāo)文件
- 《生鮮農(nóng)產(chǎn)品供應(yīng)鏈中雙渠道模式合作演化博弈實(shí)證研究》17000字
- 湖北省武漢市華師一附中2025屆中考生物押題試卷含解析
- 竣工結(jié)算審計(jì)服務(wù)投標(biāo)方案(2024修訂版)(技術(shù)方案)
- 某藥業(yè)公司管理制度匯編
- 《佛與保險(xiǎn)》課件
- 第7課《全球航路的開(kāi)辟和歐洲早期殖民擴(kuò)張》中職高一下學(xué)期高教版(2023)世界歷史全一冊(cè)
- 小學(xué)語(yǔ)文跨學(xué)科整合教學(xué)方案
- 高空作業(yè)規(guī)程及標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論