當前位置:首頁 » 操作系統 » 十個數演算法

十個數演算法

發布時間: 2022-07-24 19:15:13

1. 設計一個計算10個數的平均數的演算法 (用直到型和當型)

演算法可以這樣描述:
S1:S=0;
S2:I=1;
S3:輸入一個數G;
S4:使S+G,其和仍放S中;
S5:使I的值增加1;
S6:如果I>10,退出循環,如果I≤10重復S3;
S7:將平均數S/10存放在A中;
S8:輸出A.
按著演算法就可以畫程序框圖了

2. 輸入10個數,用冒泡排序法按由小到大順序排序並輸出c語言

冒泡排序的程序代碼如下:

#include<stdio.h>

int main()

{

int a[10]={0};

int i=0,j=0,t=0;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);}

for(i=0;i<10;i++)

{for(j=0;j<10-i;j++){

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

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}}}

for(i=0;i<10;i++)

{printf("%d ",a[i]);}

return 0;}

任意輸入十個數據,程序運行結果:

(2)十個數演算法擴展閱讀:

冒泡排序演算法的原理如下:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3、針對所有的元素重復以上的步驟,除了最後一個。

4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

3. 利用選擇法,描述將10個數按從大到小順序排列的基本思路與演算法流程

選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最大的記錄作為有序序列中第i個記錄。基於此思想的演算法主要有簡單選擇排序、樹型選擇排序和堆排序。

java選擇排序法代碼

import java.util.Random;

public class ArrayDemo {

public static void main(String[] args) {

Random random=new Random();

int[] pData=new int[10];

for(int i=0;i<pData.length;i++){ //隨機生成10個排序數

Integer a =random.nextInt(100);

pData[i]= a;

System.out.print(pData[i]+" ");

}

System.out.println();

pData=Choose(pData);

for(int i=0;i<pData.length;i++){

System.out.print(pData[i]+" ");

}

System.out.println();

}

public static int[] Choose(int[] pData){

System.out.println();

int k;

for (int i = 0; i < pData.length; i++) {

k = i;

for (int j = i; j < pData.length; j++) {

if(pData[j]<pData[k]){k = j;}

}

int a=pData[i];

pData[i]=pData[k];

pData[k]=a;

}

return pData;

}

}

(3)十個數演算法擴展閱讀:

其他排序方法:

簡單選擇排序的基本思想:第1趟,在待排序記錄r[1]~r[n]中選出最小的記錄,將它與r[1]交換;第2趟,在待排序記錄r[2]~r[n]中選出最小的記錄,將它與r[2]交換;

以此類推,第i趟在待排序記錄r[i]~r[n]中選出最小的記錄,將它與r[i]交換,使有序序列不斷增長直到全部排序完畢。

以下為簡單選擇排序的存儲狀態,其中大括弧內為無序區,大括弧外為有序序列:

初始序列:{49 27 65 97 76 12 38}
第1趟:12與49交換:12{27 65 97 76 49 38}
第2趟:27不動:12 27{65 97 76 49 38}
第3趟:65與38交換:12 27 38{97 76 49 65}
第4趟:97與49交換:12 27 38 49{76 97 65}
第5趟:76與65交換:12 27 38 49 65{97 76}
第6趟:97與76交換:12 27 38 49 65 76 97 完成

4. 設計一個計算10個數的平均數的演算法的程序框圖.

思路分析:我們用一個循環依次輸入10個數,再用一個變數存放數的累加和,在求出10個數的和後,除以10,就可得到10個數的平均數.本題可用兩種循環方式. 解法一:用循環形式2循環結構設計演算法框圖如圖1-1-9(1): 虛線框內就是循環形式2循環結構,其中包含一個條件分支結構. (1) (2) 圖1-1-9 解法二:用循環形式1循環結構設計演算法框圖如圖1-1-9(2).虛線框內就是循環形式1循環結構,其中包含一個條件結構. 點評:一個循環結構,可以用形式1,也可以用形式2.但根據條件限制的不同,有時用形式1比形式2好,有時用形式2比形式1好,關鍵看條件.有時用兩種類型都很方便,我們要學會分析題目的控制循環條件,循環結構前、後都可以有多個語句,這兩個循環結構內還包含著一個順序結構.一般說來,這三種結構貫穿於程序中,相互結合,使程序更完美.但在一個演算法中,這三種結構不一定同時存在,可能會有一種或兩種不存在.

5. 『』構造一個演算法,找出十個數字中最小的那個數『』怎麼做

定義最小值變數,初始化為第一個數字值。
依次與剩餘9個數對比, 如果當前最小值,比這個數小,則賦值該數為最小值。
遍歷後, 最小值變數中存儲的 就是十個數的最小值了。

6. 依次將10個數輸入,要求將其中最大的數輸出.這個問題的演算法怎麼寫才好啊><

用打擂台的方法。。。基本意思就是將第一個數放進去,然後依次和10個數比,大的留下。演算法如下:#include<stdio.h>
int main()
{
int a[10],i,max;//定義一個數組來存放著10數。
printf("please enter 10 numbers:\n");
for(i=0;i<10;i++)//用一個for循環來輸入10數。
scanf("%d",&a[i]);
for(max=a[0],i=0;i<10;i++)//用for循環讓這10個數一次和max比。
if(max<a[i])
max=a[i];
printf("The max number is:%d\n",max);
return 0;
}經過驗證 沒有錯誤。這是學習數組的一個非常基本的程序

7. 設計一個計算10個數的平均數的演算法 (用直到型和當型)

演算法可以這樣描述:

S1:S=0;

S2:I=1;

S3:輸入一個數G;

S4:使S+G,其和仍放S中;

S5:使I的值增加1;

S6:如果I>10,退出循環,如果I≤10重復S3;

S7:將平均數S/10存放在A中;

S8:輸出A.

按著演算法就可以畫程序框圖了

熱點內容
伺服器怎麼製作公告欄 發布:2025-01-19 23:06:23 瀏覽:873
英雄聯盟皮膚源碼 發布:2025-01-19 22:56:14 瀏覽:94
三星手機忘記解鎖密碼怎麼辦 發布:2025-01-19 22:45:43 瀏覽:291
Java為什麼沒有預編譯命令 發布:2025-01-19 22:44:14 瀏覽:303
路由器上寫的初始無密碼什麼意思 發布:2025-01-19 22:42:38 瀏覽:847
mysql配置主從資料庫 發布:2025-01-19 22:35:33 瀏覽:730
4大資料庫 發布:2025-01-19 22:34:35 瀏覽:975
win10用什麼解壓 發布:2025-01-19 22:27:15 瀏覽:799
反編譯連接資料庫 發布:2025-01-19 22:07:55 瀏覽:787
貴州省發票軟體伺服器地址 發布:2025-01-19 22:00:12 瀏覽:695