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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2019春第四周作业软件

發(fā)布時間:2025/3/16 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019春第四周作业软件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個作業(yè)屬于哪個課程C語言程序設計2
這個作業(yè)要求在哪里\https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2774
我的課程目標運用兩種排序法解決數組問題
這個作業(yè)在哪個具體方面幫助我實現目標要求用排序法解題
參考文獻\https://www.cnblogs.com/Good-good-stady-day-day-up/p/9055698.html

一、2019春第四周作業(yè)(基礎題)

題目1:選擇法排序 (20 分)

本題要求將給定的n個整數從大到小排序后輸出。

輸入格式:

輸入第一行給出一個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。

輸出格式:

在一行中輸出從大到小有序的數列,相鄰數字間有一個空格,行末不得有多余空格。

輸入樣例:

4 5 1 7 6

輸出樣例:

7 6 5 1

1)實驗流程

2)實驗代碼

#include<stdio.h> int main() {int i,x,k,n,t;int a[10]; scanf("%d",&n);for(i=0;i<n;i++) /*將輸入的元素一次賦給a的n個元素*/ {scanf("%d",&a[i]);}/*對n個數進行排序*/ for(k=0;k<n-1;k++){x=k; /*x 存放最小值所在的下標*/ for(i=k+1;i<n;i++) /*尋找最小值所在下標*/ {if(a[i]>a[x])x=i;}t=a[x]; /*最小元素與下標為k的元素交換*/ a[x]=a[k];a[k]=t;}for(i=0;i<n;i++){printf("%d",a[i]);if(i!=n-1) /*應題目要求輸入空格數量*/ printf(" ");}printf("\n");return 0; }

3)本體調試過程中遇到的問題及解決方法

問題一:違反題目要求,多出了空格

問題一的解決辦法:

增加一個條件if(i!=n-1)printf(" ");

4)運行結果截圖

題目2:7-1 找鞍點 (20 分)

一個矩陣元素的“鞍點”是指該位置上的元素值在該行上最大、在該列上最小。

本題要求編寫程序,求一個給定的n階方陣的鞍點。

輸入格式:

輸入第一行給出一個正整數n(1≤n≤6)。隨后n行,每行給出n個整數,其間以空格分隔。

輸出格式:

輸出在一行中按照“行下標 列下標”(下標從0開始)的格式輸出鞍點的位置。如果鞍點不存在,則輸出“NONE”。題目保證給出的矩陣至多存在一個鞍點。

輸入樣例1:

4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9

輸出樣例1:

2 1

輸入樣例2:

2 1 7 4 1

輸出樣例2:

NONE

1)實驗流程

2)實驗代碼

#include <stdio.h> int main() { int a[6][6],n; scanf("%d",&n); int i,j; for(i=0; i<n; i++) for(j=0; j<n; j++) { scanf("%d",&a[i][j]); } int k=0,y=0,flag=1,p=0; if(n==1) printf("0 0");else { for(i=0; i<n; i++) { y=i; for(p=0; p<n; p++){ if(a[i][k]<=a[i][p]) { k=p; } } for(j=0; j<n; j++){ if(a[y][k]>a[j][k]) { y=j; break; } } if(i==y){ flag=0; break; } } if(flag==0) printf("%d %d",i,k); else printf("NONE"); } return 0; }

3)本體調試過程中遇到的問題及解決方法

問題一:

問題一的解決辦法:

4)運行結果截圖

二、2019春第四周作業(yè)(挑戰(zhàn)題)

7-1 冒泡法排序 (10 分)

輸入1個正整數n(1<=n<=10),然后輸入n個整數并存放在數組中,將這n個整數從大到小排序后輸出,相鄰數字間有一個空格,行末不得有多余空格。

輸入格式:

輸入第一行給出一個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。

輸出格式:

在一行中輸出從大到小有序的數列,相鄰數字間有一個空格,行末不得有多余空格。

輸入樣例:

4 75 71 77 76

輸出樣例:

77 76 75 71

1)實驗流程

2)實驗代碼

#include<stdio.h> void bubble(int a[],int n); /*定義一個bubble()函數,實現數組的排序*/ int main() {int a[8],n;int i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]); /*將輸入的元素一次賦給a的n個元素*/ }bubble(a,n); /*a是等待排序的整型數組名,n指名數組a待處理的數組元素的數量*/ for(i=0;i<n;i++){printf("%d",a[i]);if(i!=n-1) /*應題目要求輸入空格數量*/ printf(" ");}return 0; }/*對數組a中數字進行排序*/ void bubble(int a[],int n) /*n是數組a中待排序元素的數量*/ {int i,j,t;for(i=1;i<n;i++) /*外部循環(huán)*/ {for(j=0;j<n-i;j++) /*內部循環(huán)*/ {if(a[j]<a[j+1]) /*比較相鄰兩個元素的大小*/ { /*如果前一個元素大,則交換*/ t=a[j];a[j]=a[j+1];a[j+1]=t;}}} }

3)本體調試過程中遇到的問題及解決方法

問題一:違反題目要求,多出了空格

問題一的解決辦法:

增加一個條件if(i!=n-1)printf(" ");

4)運行結果截圖

三、學習進度條

周/日期這周所發(fā)時間代碼行學到的知識點簡介目前比較迷惑的問題
3/18~3/227 時121學到了怎么寫選擇排序及冒泡排序找出鞍點的判斷條件是?

四、學習感悟

本次作業(yè)的基礎題中(選擇排序演示視頻)比較簡單,畢竟老師有講過。但是第二題找鞍點,太難了,我知道條件,但是不知道怎么用代碼表現出來。挑戰(zhàn)題也比較簡單,至少比找鞍點好寫。(冒泡排序演示視頻)

轉載于:https://www.cnblogs.com/xw1203/p/10573509.html

總結

以上是生活随笔為你收集整理的2019春第四周作业软件的全部內容,希望文章能夠幫你解決所遇到的問題。

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