輸入n個人的身高,然後從n個人中選出身高差值最小的兩個人作為禮儀(如果差值相同的話,選取其中最高的兩個人),要求輸出兩個禮儀的身高。
題目如下:
編寫一個C程式,實現以下功能:
輸入n個人的身高,然後從n個人中選出身高差值最小的兩個人作為禮儀(如果差值相同的話,選取其中最高的兩個人),要求輸出兩個禮儀的身高。
對題目的淺度分析:
1.首先使用一位陣列將身高資料進行儲存
2.使用選擇排序法對身高從小到大進行排序,注意是從小到大,因為題目要求如果身高差值相同,則取身高較高的兩人
3.找出身高的最小差值,如果並記錄下這兩個禮儀的身高,如果在
迴圈中出現了更小的身高差值,則將禮儀的身高進行替換
程式碼如下:
#include <stdio.h>
#include <math.h>
void main()
{
int a[100];
int n,i;
void search1(int *p,int m);
void sort1(int *q,int k);
printf("輸入禮儀的人數:");
scanf("%d",&n);
printf("輸入禮儀的身高:");
for (i = 0;i <= n - 1;i++)
{
scanf("%d",&a[i]);
}
sort1(a,n);
search1(a,n);
}
void sort1(int* q,int k)
{
int i, j,temp;
for (i = 0;i <= k - 2;i++)
{
for (j = i + 1;j <= k - 2;j++)
{
if (q[i] > q[j])
{
temp = q[i];
q[i] = q[j];
q[j] = temp;
}
}
}
}
void search1(int* p, int m)
{
int i = 0;
int min, h1, h2;
min = (int)fabs(*(p + 1) - *(p + 0));
for (i = 0;i <= m - 2;i++)
{
if ((int)fabs(*(p + i+1) - *(p + i)) <= min)
{
min= (int)fabs(*(p + i+1) - *(p + i));
h1 = *(p + i + 1);
h2 = *(p + i);
}
}
printf("身高的最小差值為:%d 禮儀身高分別為:%d %d\n",min,h1,h2);
}
相關文章
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 輸入N,再輸入N個數,N
- 【個人成長】在家學習的這兩個月
- 給定一個n,輸出從1到n的整數
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- 劍指offer:輸入n個整數,找出其中最小的K個數。
- linux echo命令的-n、-e兩個引數Linux
- Linux awk中輸出上下兩列值之間的差值Linux
- 編寫js比較兩個數的最大值(使用者依次輸入兩個數,最後彈出最大的那個值)JS
- SQL Server 2012鮮為人知的兩個功能MOSQLServer
- 選擇 .NET 的 n 個理由
- JAVA中計算兩個日期時間的差值竟然也有這麼多門道Java
- 報數:有n個人做成一圈,按順序1到n編好號。從第一個人開始報數,報到m(m<n)的人退出圈子。如此下去,直到留下最後一個人,輸入整數n和m,並按退出順序輸出退出圈子的人的編號。
- 03:因子 檢視 提交 統計 提問 總時間限制: 8000ms 記憶體限制: 65536kB 描述 輸入1個整數n。從小到大依次輸出n的所有因子。 輸入 1個整數n(n<20億) 輸出 升序輸出n的所記憶體
- 2020國人彩禮地圖:哪個省的彩禮最貴?地圖
- joda.time之如何獲取到兩個時間的差值(正確的使用Period類)
- 相鄰兩數的最大差值
- 給你兩個老婆,你選哪個?
- python輸入兩個數進行求和的方法是什麼?Python
- 面試題解:輸入一個數A,找到大於A的一個最小數B,且B中不存在連續相等的兩個數字面試題
- 比較兩個陣列中是否有相同的元素陣列
- 【JAVA習題六】輸入兩個正整數m和n,求其最大公約數Java
- 599. 兩個列表的最小索引總和索引
- 舉兩個栗子:如何正確建立個人的機器學習專案集機器學習
- Echarts一個圖例可以共用兩個或者兩個以上的餅圖Echarts
- 和為s的兩個數字
- 輸入一個3,輸出March,輸入一個數字月份,然後對應輸出相應的英文表示,用指標陣列完成指標陣列
- 遇到ASM的兩個BUGASM
- iPhone的兩個目錄。iPhone
- PostgreSQL的兩個模板庫SQL
- 如果一個標籤元素同時出現兩個class屬性,兩個class都會生效嗎?為什麼?
- 比較兩個table是否相同
- 寫一個方法,傳入數字x,從一個一維陣列裡找到兩個數字符合“n1 + n2 = x”陣列
- TCP 中的兩個細節點TCP
- 幽默:Github上兩個機器人吵架了Github機器人
- 技術選型的一點個人思考
- 學兩個月前端後做了個這樣的網站前端網站
- ubuntu系統存在兩個PHP版本,預設版本的坑壞人UbuntuPHP