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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

2019第四周作业(基础作业+挑战作业)

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019第四周作业(基础作业+挑战作业) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基礎題1:

輸入一個正整數 n (1≤n≤10)和n 階方陣a的元素,如果方陣a中的所有元素都沿主對角線對稱,輸出“Yes”, 否則,輸出“No”。主對角線為從矩陣的左上角至右下角的連線,方陣a中的所有元素都沿主對角線對稱指對所有i, k,a[i][k]和a[k][i]相等。輸入輸出示例如下:

輸入:

3
1 2 3
4 5 6
7 8 9

輸出:

No

#include <stdio.h>
int main(void)  
{   int found, i, k, n;int a[10][10];scanf ("%d", &n);for (i = 0; i < n; i++) for (k = 0; k < n; k++)scanf("%d", &a[i][k]);found = 1;for (i = 0; i < n; i++){    for (k = 0; k < i; k++){if (
a[i][k]!=a[k][i]
(3分)) { found=0
;          break;}}if (
found==0
){break;}}if (found != 0){printf("Yes\n");}  else{printf("No\n");}  return 0;
}

基礎作業2

選擇法排序

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

輸入格式:

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

輸出格式:

在一行中輸出從大到小有序的數列,相鄰數字間有一個空格,行末不得有多余空格。
輸入樣例:
4 5 1 7 6
輸出樣例:
7 6 5 1

實驗代碼:

#include<stdio.h>
int main(){int n,i,k,max,temp;int a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(k=0;k<n-1;k++){max=k;for(i=k+1;i<n;i++)if(a[i]>=a[max])max=i;temp=a[max];a[max]=a[k];a[k]=temp;}printf("%d",a[0]);for(i=1;i<n;i++)printf(" %d",a[i]);return 0;
} 

實驗過程中遇到的問題

對于行末不得有多余空格的理解錯誤。

PTA運行結果截屏

流程框圖

基礎作業3

找鞍點

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

本題要求編寫程序,求一個給定的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

實驗代碼

#include<stdio.h>
int main(){int n,i,j,k,y,p,flag;int a[6][6];scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);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);elseprintf("NONE");}
} 

實驗過程中遇到的問題

忽略了當n=1時的情況

解決方法

利用if-else語句

PTA運行結果截圖

流程框圖

挑戰作業

冒泡法排序

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

輸入格式:

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

輸出格式:

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

輸入樣例:

4 75 71 77 76

輸出樣例:

77 76 75 71

實驗代碼

#include<stdio.h>
int main ()
{int i,j,k,n,temp;int a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(k=0;k<n-1;k++){j=k;for(i=k+1;i<n;i++)if(a[i]>a[j])j=i;temp=a[j];a[j]=a[k];a[k]=temp;}printf("%d",a[0]);for(i=1;i<n;i++){printf(" %d",a[i]);}return 0;
}

PTA運行結果截圖

流程框圖

本周學習總結

本周學習二維數組和選擇排序法,冒泡排序法。

本周學習進度條

周/日這周所花時間代碼行學到的知識點
3/17-3/23八小時300行二維數組

轉載于:https://www.cnblogs.com/Liu0922/p/10579499.html

總結

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

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