1. 程式人生 > >實驗7-1-5 選擇法排序(20 分)

實驗7-1-5 選擇法排序(20 分)

/*
時間:2018年4月7日09:44:43
思路:陣列迴圈遍歷n-1次,迴圈第一次找到最大值,放在陣列首位;
      迴圈第二次找到次最大值,放在陣列第二位。依次迴圈即可。
*/
#include<stdio.h>
#define N 10
int main()
{
	int i, j, k, n;
	int t, temp;
	int a[N];
	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
	}
	for (i = 0; i < n-1; i++) //必須迴圈n次嗎?
	{
		t = i;
		for (j = i + 1; j < n; j++) //找到數值最小的元素下標,依次放在a[0],a[1]..a[n-1]中
		{
			if (a[t] <= a[j]) //找到數值最大的元素下標, 依次放在a[0], a[1]..a[n - 1]中
			{
				t = j;
			}
		}
		temp = a[i];
		a[i] = a[t];
		a[t] = temp;
	}
	printf("%d", a[0]);
	for (i = 1; i < n; i++)
	{
		printf(" %d", a[i]); //注意:空格
	}
	return 0;
}

相關推薦

實驗7-1-5 選擇排序20

/* 時間:2018年4月7日09:44:43 思路:陣列迴圈遍歷n-1次,迴圈第一次找到最大值,放在陣列首位; 迴圈第二次找到次最大值,放在陣列第二位。依次迴圈即可。 */ #includ

PTA習題7-1 選擇排序20

#include<stdio.h> #define MAXN 10 int main() { int i,j,index,N,tmp; scanf("%d",&N); int a[N]; for(i=0;i

7-1 字串的氣泡排序 20

我們已經知道了將N個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的K(<N),輸出掃描完第K遍後的中間結果序列。 輸入格式: 輸入在第1行中給出N和K(1≤K<N≤100),此後N行,每行包含一個長度不超過10的、僅

交換類排序選擇排序-7-3 冒泡排序 20

將N個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃描,則最後一個元素必定是最大的元素。然後用同樣的方法對前N−1個元素進行第二遍掃描。依此類推,最後只需處理兩個元素,就完成了對N個數的排序。 本題要求對任意給

7-27 冒泡排序20 Java實現

7-27 冒泡法排序(20 分) 將N個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃描,則最後一個元素必定是最大的元素。然後用同樣的方法對前N−1個元素進行第二遍掃描。依此類推

PTA實驗 6-1 順序表操作集20

6-1 順序表操作集(20 分)本題要求實現順序表的操作集。函式介面定義:List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Positi

7-1 陣列迴圈左移20

本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,即將a中的資料由(a​0​​a​1​​⋯a​n−1​​)變換為(a​m​​⋯a​n−1​​a​0​​a​1​

習題7-1 選擇排序 20 point(s)

習題7-1 選擇法排序 (20 point(s)) 本題要求將給定的n個整數從大到小排序後輸出。 輸入格式: 輸入第一行給出一個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。 輸出格式: 在一行中輸出從大到小有序的數列,相鄰數字間有一個空格,行末不得有多餘空格。

基礎程式設計題目集 - 7-1 釐米換算英尺英寸15

題目連結:點選開啟連結 題目大意:略。 解題思路:注意:最後一句話的內涵,意味著 inch/12 是 foot 的小數部分。 AC 程式碼 [cpp]

第六章樹和二叉樹--樹和森林-計算機17級 7-1 樹的同構 25 答案超詳解

7-1 樹的同構 (25 分) 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。  

7-1 樹的同構 25

題目 : 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖一: 圖二: 現給定兩棵樹,請你判斷它們是否是同構的。 輸

第三章作業1-棧-計算機17級 7-16 一元多項式求導 20

7-16 一元多項式求導 (20 分) 設計函式求一元多項式的導數。 輸入格式: 以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。 輸出格式: 以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾

7-1 城市間緊急救援 25

#include <stdio.h> #include <malloc.h> #include <string.h> #include <math.h> #include <stdlib.h> #include &l

習題9-5 通訊錄排序 20

輸入n個朋友的資訊,包括姓名、生日、電話號碼,本題要求編寫程式,按照年齡從大到小的順序依次輸出通訊錄。題目保證所有人的生日均不相同。 輸入格式: 輸入第一行給出正整數n(<10)。隨後n行,每行按照“姓名 生日 電話號碼”的格式給出一位朋友的資訊,其中“姓名”是長度不超過10的英文

HBU月考 冒泡排序30

題目描述: 將N個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃描,則最後一個元素必定是最大的元素。然後用同樣的方法對前N−1個元素進行第二遍掃描。依此類推,最後只需處理兩個元素,就完成了對N個數的排序。 本題

PTA 7-1 樹的同構25

#include using namespace std; typedef struct Node { char ch; // 節點所儲存的字母 char left;// left - '0' 即為此節點左兒子在陣列中的下標 char right; }; Node tree[

PTA習題9-5 通訊錄排序20

#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { char name[11]; int birth;

7-1 求e的近似值15

一、題目 二、個人理解 此題主要的關鍵點在於如何不執行超時。 我們可以發現題目要求保留小數點後八位,於是我們測試資料發現當n>11時,保留8位的資料就不變了,於是我們可以大膽捨棄以後位數的計算。 對於此類題目,我們要仔細讀題目,發現它讓我們

PTA 7-1 樹的同構 25 (python模擬)

原題連結如下:樹的同構          這次我們再來皮一下,我們首先分析一下這道題目,打眼一看,思路就顯然了,判斷他們是不是同構的核心思路就是:對於一個根來講,他的每一個的子樹是否同構,即,每一個節點是否有相同的兒子。         下面提供思路: 直接建立節點

7-16 一元多項式求導20 (有關while(scanf("%d",&n)!=EOF))

margin 常數 解題思路 return 做的 gin 遇到 bsp title 7-16 一元多項式求導(20 分) 設計函數求一元多項式的導數。 輸入格式: 以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。