第四次作業


作業要求: https://www.cnblogs.com/ranh941/p/7999266.html

1.你觀看了幾個視頻?給出觀看列表截圖

   共11個視頻。

2.通過觀看視頻你學習到哪些知識點或者編程題目?

如何定義、使用數組;和一些函數。
3.對於所學知識點還有哪些疑問?有哪些知識點沒有學會?

對選擇排序法大致掌握,但對冒泡排序法還需加強練習。

第十六周:

本題要求從輸入的N個整數中查找給定的X。如果找到,輸出X的位置(從0開始數);如果沒有找到,輸出“Not Found”。

輸入格式:

輸入在第一行中給出兩個正整數N(≤20)和X,第二行給出N個整數。數字均不超過長整型,其間以空格分隔。

輸出格式:

在一行中輸出X的位置,或者“Not Found”。

輸入樣例1:

5 7 3 5 7 1 9

輸出樣例1:

2

輸入樣例2:

5 7 3 5 8 1 9

輸出樣例2:

Not Found

一、實驗代碼

#include<stdio.h>
int main(void)
{
    int N,X,i;
    scanf("%d%d",&N,&X);
    int a[N];
    for(i=0;i<N;i++){
        scanf("%d",&a[i]);
        if(X==a[i]){
            printf("%d",i);
            break;
        }
        else if(i==N-1&&X!=a[i]){
            printf("Not Found");
        }
    }
    return 0;
}

二、解題思路

1.步驟

第一步:分析題意並定義四個變量N,X,i,定義一個數組a【N】。

第二步:輸入一個正整數N和一個X。

第三步:利用for循環輸入N個數,利用if條件語句判斷是否為要找的數。

第四步:若存在要找的數則輸出該數的位置;若不存在,則輸出Not Found。

2.流程圖

 

3.本題調試過程碰到問題及解決辦法

第十七周:

7-2 選擇法排序 (20 分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

4 5 1 7 6

輸出樣例:

7 6 5 1

一、實驗代碼

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

 

二、解題思路

1.步驟

第一步:定義5個量i,n,t,k,index。定義一個能容納十個數的數組。

第二步:輸入n個數。

第三步:利用中間變量對這n個數比較大小,按從大到小排列。

第四步:輸出這n個數。

2.流程圖

 

3.本題調試過程碰到問題及解決辦法

 個人總結:在這兩周的學習中  我學到了數組的相關知識,並可以將數組里的數據按照一定順序排列。

                                    

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM