摘要:算法描述向數(shù)組中輸入元素定義一個新數(shù)組將數(shù)組中的元素倒序存放將數(shù)組正序輸出,注意結(jié)尾無空格的格式問題。最后打印出來數(shù)組中的元素,也就是非共有值,此處注意格式問題。
本題要求編寫程序,將給定的n個整數(shù)存入數(shù)組中,將數(shù)組中的這n個數(shù)逆序存放, 再按順序輸出數(shù)組中的元素。
#include int main(){ int n; scanf("%d",&n); int i,arr[n]; for(i = 0;i < n;i++) { scanf("%d",&arr[i]); } int new[n],j; //定義一個數(shù)組new用來存入數(shù)組a的逆順序 for(int j = 0;j < n;j++) { new[j] = arr[n-1-i]; //倒序存入 } for(int k = 0;k < n - 1;k++) //數(shù)組中最后一個元素不一起輸入,保持結(jié)尾無空格 { printf("%d ",new[k]); } printf("%d",new[n-1]); //輸出最后一個元素 return 0;}
?
本題要求編寫程序,找出給定的n個數(shù)中的最大值及其對應(yīng)的最小下標(biāo)(下標(biāo)從0開始)。 輸入格式: 輸入在第一行中給出一個正整數(shù)n(1
#include int main(){ ? ?int n; ? ?scanf("%d",&n); ? ?int arr[n],i; ? ?for(i = 0;i < n;i++) ? { ? ? ? ?scanf("%d",&arr[i]); ? } ? ? ? ?int max = arr[0]; //定義一個變量保存數(shù)組第一個元素 ? ?for(int j = 1;j < n;j++) ? { ? ? ? ?if(max < arr[j]) //如果小于就一直給m,直到找到最大值停 ? ? ? { ? ? ? ? ? ?max = arr[j]; ? ? ? } ? ? } ? ?for(int num = 0;num < n;num++) //記錄最大值下標(biāo)操作 ? { ? ? ? ?if(arr[num] == max) ? ? ? { ? ? ? ? ? ?printf("最大值為:%d/n其下標(biāo)為:%d",max,num); ? ? ? ? ? ?break; ? ? ? } ? } ? ?return 0;}
?
本題要求給定兩個整型數(shù)組,本題要求找出不是兩者共有的元素。
#include int main(){ int n; scanf("%d",&n); int arr1[n],i; //定義第一個數(shù)組 for(i = 0;i < n;i++) { scanf("%d",&arr1[i]); } int m; scanf("%d",&m); int arr2[m],j; //定義第二個數(shù)組 for(j = 0;j < m;j++) { scanf("%d",&arr2[j]); } int k,rem[20] = {}; //數(shù)組rem是用來記錄非公有值的 for(i = 0;i < n;i++) { int flag = 0; //定義標(biāo)志變量用來標(biāo)志是否有非共有值 for(j = 0;j < m;j++) { if(arr1[i] == arr2[j]) //用數(shù)組1中元素對比數(shù)組2中元素,非共有值放入數(shù)組rem中 { flag = 1; } } if(flag == 0) { rem[k] = arr1[i]; k++; } } for(i = 0;i < m;i++) //用數(shù)組2中元素對比數(shù)組1中元素,非共有值放入數(shù)組rem中 { int flag = 0; for(j = 0;j < n;j++) { if(arr2[i] == arr1[j]) { flag = 1; } } if(flag == 0) { rem[k] = arr2[i]; k++; } } printf("非共有元素:%d",rem[0]); //輸出rem中第一個元素 for(i = 1;i < k;i++) { for(j = 0;j < i;j++) { if(rem[i] == rem[j]) { break; } } if(j >= i) { printf(" %d",rem[i]); //因?yàn)樘崆拜敵龅谝粋€元素,所以后面要打一個空格再打元素, //結(jié)尾無空格的格式問題 } } return 0;}
?
本題要求統(tǒng)計一個整型序列中出現(xiàn)次數(shù)最多的整數(shù)及其出現(xiàn)次數(shù)。
輸入格式: 輸入在一行中給出序列中整數(shù)個數(shù)N(0 輸出格式: 在一行中輸出出現(xiàn)次數(shù)最多的整數(shù)及其出現(xiàn)次數(shù),數(shù)字間以空格分隔。題目保證這樣的數(shù)字是唯一的。 ? 本題要求給出n個元素的數(shù)組,從小到大排列,再輸入一個num,插入到數(shù)組中, 使得新數(shù)組依舊是從小到大的順序(用一個數(shù)組完成)。 ? ? 一個數(shù)組A中存有N(>0)個整數(shù),在不允許使用另外數(shù)組的前提下,將每個整數(shù)循環(huán)向右移M(≥0)個位置,即將A中的數(shù)據(jù)由(A0A1?*AN?1)變換為(AN?M?AN?1A0A1?AN?M?1)(最后M個數(shù)循環(huán)移至最前面的M*個位置)。如果需要考慮程序移動數(shù)據(jù)的次數(shù)盡量少,要如何設(shè)計移動的方法? 輸入格式: 每個輸入包含一個測試用例,第1行輸入N(1≤N≤100)和M(≥0);第2行輸入N個整數(shù),之間用空格分隔。 輸出格式: 在一行中輸出循環(huán)右移M位以后的整數(shù)序列,之間用空格分隔,序列結(jié)尾不能有多余空格。 輸入樣例: 6 2 1 2 3 4 5 6 結(jié)尾無空行 輸出樣例: 5 6 1 2 3 4 結(jié)尾無空行 ?算法描述:1.定義兩個數(shù)組,一個用來存放元素,另一個用來當(dāng)計數(shù)器,此數(shù)組注意需? ? ? ? ? ? ? ? ? ? ? ?要初始化;
??????????????????2.在這個數(shù)組中找到重復(fù)的,然后把計數(shù)器數(shù)組賦值+1;
? ? ? ? ? ? ? ? ? 3.一直遍歷找到重復(fù)最多的,找到后把計數(shù)器數(shù)組元素賦值給變量max(也? ? ? ? ? ? ? ? ? ? ? ?就是出現(xiàn)次 數(shù)),計數(shù)器數(shù)組下標(biāo)就是出現(xiàn)次數(shù)最多數(shù)的下標(biāo)。
代碼實(shí)現(xiàn):
#include
運(yùn)行結(jié)果:
問題5:數(shù)組中插入數(shù)字并排序
算法描述:1.定義一個數(shù)組并存放元素,多帶帶記錄好倒數(shù)第二個元素;
??????????????????2.輸入要插入的數(shù)字,注意可以考慮特殊情況,如果插入的數(shù)大于原本倒數(shù)? ? ? ? ? ? ? ? ? ? ? ?第二個數(shù),就可以 直接插入賦值為最后一個元素;
??????????????????3.再來考慮一般情況,遍歷數(shù)組,如果原本的數(shù)大于要插入的數(shù),先保存住? ? ? ? ? ? ? ? ? ? ? ?原來的數(shù)字,然 后把插入的數(shù)放入到原來的數(shù)的位置;
??????????????????4.插入之后,原本的數(shù)就到了后一位,需要把后一位的位置保存住,把原本? ? ? ? ? ? ? ? ? ? ? ?的數(shù)放到后一 位,再把位置賦上原本數(shù)的值;
?????????????????5.最后遍歷輸出數(shù)組元素 。
代碼實(shí)現(xiàn) :
#include
運(yùn)行結(jié)果:
問題6:數(shù)組循環(huán)右移問題
算法描述:1.定義數(shù)組并存入元素,輸入要移動的值;
??????????????????2.注意先處理一下移動的值,讓他和數(shù)組中元素的總個數(shù)取個余;
??????????????????3.優(yōu)先考慮特殊情況:如果移動的值為0,那直接打??;
? ? ? ? ? ? ? ? ? 4.移動k個,先把最后k個值放到前面,做特殊處理,方便剩余的元素打??;
? ? ? ? ? ? ? ? ? 5.然后再注意格式問題,打印出除最后一個以外的數(shù)字+空格,最后在打印? ? ? ? ? ? ? ? ? ? ? ?最后一個數(shù)。
代碼實(shí)現(xiàn):
#include
運(yùn)行結(jié)果:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123364.html
摘要:需要注意的是用矩陣形式如行列表示二維數(shù)組,是邏輯上的概念,能形象地表示出行列關(guān)系。再次強(qiáng)調(diào)二維數(shù)組名如是指向行的。一維數(shù)組名如是指向列元素的。 哈嘍!這里是一只派大鑫,不是派大星。本著基礎(chǔ)不牢,地動山搖的學(xué)習(xí)態(tài)度,從基礎(chǔ)的C語言語法講到算法再到更高級的語法及框架的學(xué)習(xí)。更好地讓同樣熱愛編...
摘要:形式參數(shù)當(dāng)函數(shù)調(diào)用完成之后就自動銷毀了。函數(shù)調(diào)用傳值調(diào)用函數(shù)的形參和實(shí)參分別占有不同內(nèi)存塊,對形參的修改不會影響實(shí)參。函數(shù)的聲明一般出現(xiàn)在函數(shù)的使用之前。它其實(shí)就數(shù)組訪問的操作符。 ...
摘要:而對于二維數(shù)組,因?yàn)閮?nèi)存連續(xù)性的原因,內(nèi)存并不會真真的開辟一個二維空間,而是連續(xù)依次存入二維數(shù)組的每個數(shù)據(jù)。之所以有二維數(shù)組的說法是為了分析問題方便。二維數(shù)組的實(shí)質(zhì)是一維數(shù)組,只是其元素類型是一維數(shù)組類型。 ...
摘要:關(guān)注我,訂閱專欄基礎(chǔ)語言保姆教學(xué),就可以持續(xù)讀到我的文章啦本文為萬字長文,滿滿干貨。那么,上面的代碼所運(yùn)行的結(jié)果就是一維數(shù)組的使用使用即可以訪問并可以修改,即可讀可寫。 大家好~~~我是開心學(xué)編程,學(xué)到無極限的@jxwd? 寫在前面: 各位小伙伴還在為C語言的學(xué)習(xí)而苦惱嘛? 還在為...
摘要:結(jié)論一維數(shù)組在內(nèi)存中是連續(xù)存放的二維數(shù)組關(guān)于二維數(shù)組的創(chuàng)建二維數(shù)組中的表示行數(shù),表示列數(shù)注意二維數(shù)組的不完全初始化剩下的元素也都默認(rèn)為。示例如下關(guān)于二維數(shù)組的打印我們通過二維數(shù)組的下標(biāo)來進(jìn)行打印,而二維數(shù)組的行和列下標(biāo)都是從開始的。 ?目錄 一維數(shù)組 關(guān)于一維數(shù)組的創(chuàng)建 關(guān)于數(shù)組的打印 關(guān)...
閱讀 1881·2021-11-25 09:43
閱讀 3177·2021-11-15 11:38
閱讀 2718·2019-08-30 13:04
閱讀 493·2019-08-29 11:07
閱讀 1508·2019-08-26 18:37
閱讀 2742·2019-08-26 14:07
閱讀 593·2019-08-26 13:52
閱讀 2289·2019-08-26 12:09