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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【无标题】7-11 sdut-C语言实验- 数列有序! 7-12 sdut-C语言实验- 中位数 7-13 sdut-C语言实验-各位数字之和排序 7-14 sdut-C语言实验- 冒泡排序中数据交换

發布時間:2024/3/12 编程问答 39 豆豆

7-11 sdut-C語言實驗- 數列有序!

分數?14

全屏瀏覽題目

切換布局

作者?馬新娟

單位?山東理工大學

有n(n<=100)個整數,已經按照從大到小順序排列好,現在另外給一個整數m,請將該數插入到序列中,并使新的序列仍然有序。

輸入格式:

輸入數據包含多個測試實例,每組數據由兩行組成,第一行是n和m,第二行是已經有序的n個數的數列。n和m同時為0表示輸入數據的結束,本行不做處理。

輸出格式:

對于每個測試實例,輸出插入新的元素后的數列。

#include <stdio.h> #include <stdlib.h>int main() {int a[105];int n,m;while(scanf("%d%d",&n,&m)!=EOF){if(n==0&&m==0)break;for(int i=1;i<=n;i++){scanf("%d",&a[i]);}a[n+1]=m;for(int i=1;i<=n;i++){if(m>a[i]){int t=a[i];for(int f=n;f>=i;f--){a[f+1]=a[f];}a[i]=m;break;}}for(int i=1;i<=n+1;i++){printf("%d",a[i]);if(i<n+1)printf(" ");}}return 0; }

7-12 sdut-C語言實驗- 中位數

分數?12

全屏瀏覽題目

切換布局

作者?馬新娟

單位?山東理工大學

中位數是指在一組數據中,按數值大小排序后處于中間位置的數。例如:1, 5, 3 排序后為 1, 3, 5,則其中位數為 3。特別地,當數的個數 N 為偶數時,中位數取位置居中的兩個數 (N/2 和 N/2+1) 的平均值,例如:1, 2, 3, 4,中位數為 (2+3)/2 = 2.5。

給定一組數,你能求出中位數嗎?

輸入格式:

輸入數據有多組(數據組數不超過 100),到 EOF 結束。

對于每組數據:

第 1 行輸入一個整數 n (3 <= n <= 100),表示數的個數。
第 2 行輸入 n 個用空格隔開的整數 Ai (0 <= Ai <= 1000),依次表示每一個數,保證互不重復。

輸出格式:

對于每組數據,在一行中輸出一個實數(保留 1 位小數),表示這組數據的中位數。

#include <stdio.h> #include <stdlib.h>int main() {int n,z=0;double a[105];while(scanf("%d",&n)!=EOF){for(int i=1;i<=n;i++){scanf("%lf",&a[i]);}for(int i=1;i<n;i++){for(int t=n;t>i;t--){if(a[t]<a[t-1]){int f=a[t];a[t]=a[t-1];a[t-1]=f;}}}if(n%2==1){z=n/2+1;printf("%.1f\n",a[z]*1.0);}else{z=n/2;printf("%.1f\n",(a[z]+a[z+1])/2.0);}}return 0; }

7-13 sdut-C語言實驗-各位數字之和排序

分數?12

全屏瀏覽題目

切換布局

作者?馬新娟

單位?山東理工大學

給定n個正整數,根據各位數字之和從小到大進行排序。

輸入格式:

輸入數據有多組,每組數據占一行,每行的第一個數正整數n,表示整數個數,后面接n個正整數。當n為0時,不作任何處理,輸入結束。n<=10。

輸出格式:

輸出每組排序的結果。

#include <stdio.h> #include <stdlib.h>int main() {int n,m;while(scanf("%d",&n)!=EOF){if(n==0)break;int a[15]={0};int b[15]={0};for(int i=1;i<=n;i++){scanf("%d",&m);b[i]=m;while(m){int t=m%10;a[i]+=t;m/=10;}}for(int i=1;i<n;i++){for(int t=n;t>i;t--){if(a[t]<a[t-1]){int f=a[t];a[t]=a[t-1];a[t-1]=f;f=b[t];b[t]=b[t-1];b[t-1]=f;}}}for(int i=1;i<=n;i++){printf("%d",b[i]);if(i<n)printf(" ");}printf("\n");}return 0; }

7-14 sdut-C語言實驗- 冒泡排序中數據交換的次數

分數?18

全屏瀏覽題目

切換布局

作者?馬新娟

單位?山東理工大學

聽說過冒泡排序么?一種很暴力的排序方法。今天我們不希望你用它來排序,而是希望你能算出從小到大冒泡排序的過程中一共進行了多少次數據交換。

輸入格式:

輸入數據的第一行為一個正整數 T ,表示有 T 組測試數據。
接下來T行,每行第一個整數N, 然后有N個整數,無序。0<N <= 100

輸出格式:

輸出共 T 行。
每行一個整數,代表本行數據從小到大冒泡排序所進行的交換次數

#include <stdio.h> #include <stdlib.h>int main() {int n,a[105];scanf("%d",&n);while(n--){int sum=0,m;scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d",&a[i]);}for(int i=1;i<m;i++){for(int f=m;f>i;f--){if(a[f]<a[f-1]){int t=a[f];a[f]=a[f-1];a[f-1]=t;sum++;}}}printf("%d\n",sum);}return 0; }

總結

以上是生活随笔為你收集整理的【无标题】7-11 sdut-C语言实验- 数列有序! 7-12 sdut-C语言实验- 中位数 7-13 sdut-C语言实验-各位数字之和排序 7-14 sdut-C语言实验- 冒泡排序中数据交换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。