日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言数组学完学啥,我的c语言学习-数组专题

發(fā)布時間:2023/12/10 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言数组学完学啥,我的c语言学习-数组专题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

學到最后的數(shù)組專題了。數(shù)組數(shù)組,怎么著也要是一組數(shù)吧,對,數(shù)組是按順序排列的一組同類型的數(shù)據(jù)構(gòu)成的集合,用來保存大量同類型的相關(guān)數(shù)據(jù)。

一? ? ?一維數(shù)組

定義一個一維數(shù)組int a[5],表示有五個元素,a[0]、a[1]、a[2]、a[3]、a[5]。c語言中數(shù)組的下標是從0開始的,直接對a的訪問,就是訪問此數(shù)組的首地址,數(shù)組名稱就是首地址。數(shù)組大小必須是值為正的常量,不能為變量,如? int n;cin>>n;int a[n]這種情況是錯誤的。

下面寫一個例子,從例子中理解數(shù)組的用法。

將數(shù)組中第一個元素移到數(shù)組末尾,其余數(shù)據(jù)依次向前平移一個位置。

#include

#include

const int n=10;

using namespace std;

int a[n],temp;

int main()

{

for(int i=0;i

{

cin>>a[i];

}

temp=a[0];

for(int i=0;i

{

a[i]=a[i+1];

}

a[n-1]=temp;

for(int i=0;i

{

cout<

}

return 0;

}

在這里,我學到了三種排序方式,選擇排序、冒泡排序和插入排序。下面詳細介紹一下。

選擇排序:

基本步驟:(1)從數(shù)組存放的n個數(shù)中找出最小數(shù)的下標,然后將最小數(shù)與第1個數(shù)交換位置,此過程進行n-1次;

(2)除第一個數(shù)以外,再從其余n-1個數(shù)中找出最小數(shù)(即n個數(shù)中的次小數(shù))的下標,將此數(shù)與第2個數(shù)交換位置,此過程進行n-2次

(3)重復(fù)n-1次過程,即完成所求。

代碼實現(xiàn)(設(shè)為升序):

int main()

{

int a[10000];

int i,j,l;

cin>>n;

for(i=0;i

{

cin>>a[i];

}

for(j=0;j

{

l=j;

for(i=1;i

if(a[l]

l=l;

if(l!=j)

i=a[l],a[l]=a[j],a[j]=i;

}

return 0;

}

用l=0,i=1時為例,若a0a[1]時,兩個元素交換位置,然后a0位置放最小元素。再拿a1,a2,an-1依次進行上述操作。

冒泡排序(設(shè)為升序):

相鄰元素兩兩比較,大的往后放,如果第一個元素比第二個大,就交換它們兩個。對每一對相鄰元素做同樣的工作,最終最后的元素會是最大的數(shù),這是一輪。依照上面的過程在進行,n個元素就進行n-1輪,每拍完一輪。比較次數(shù)就少一次。

代碼實現(xiàn):

#include

#include

using namespace std;

const int n=10;

int main()

{

for(int i=1;i<=n;++i)

{

cin>>a[i];

}

for(int j=1;j<=n-1;++j)

{

for(int i=1;i

{

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

}

for(int i=1;i<=n;++i)

{

cout<

cout<

}

return 0;

}

插入排序:在有序排序中插入一整數(shù),使新序列仍有序。這個我還不是太明白,需要仔細研究一下。

代碼實現(xiàn):l=num-1;

while(l>=0&&a[l]

{

a[l+1]=a[l];

l--;

}

a[l+1]=x;

二? 二維數(shù)組

二維數(shù)組用兩個下標確定各元素在數(shù)組中的順序,可用排列成i行j列的元素表示,一般格式定義為:類型? ?數(shù)組名[第一維長度][第二維長度]。

例如:int? ?a[4][10]

a數(shù)組實質(zhì)上是一個有l(wèi)行、10列的表格,表格中可儲存40個元素。第m行第n列對應(yīng)的是a[m-1]a[n-1];其余的用法我覺得與一維數(shù)組差不多。

三? ??字符數(shù)組與字符串類型

格式 :char 數(shù)組名[常量表達式1]……

用單引號引起字符常量,一個字符;用雙引號引起字符串常量,多個字符;

字符串的輸入:scanf("%s",字符數(shù)組名)不加&

這個地方用scanf和printf要簡便

字符串末尾有\(zhòng)n

使用gets語句只能輸入一個字符串,讀入一整行,包括空格。例如,scanf("%s",s1)和gets(s2)同樣輸入Let us go,s1獲得的結(jié)果是Let,s2獲得的結(jié)果是Let us go.

快要期末考試了,給自己打個氣,好好準備!

總結(jié)

以上是生活随笔為你收集整理的C语言数组学完学啥,我的c语言学习-数组专题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。