2019春第一週做業編程總結

題目1:7-1 查找整數 (10 分)

本題要求從輸入的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 Foundcode

實驗代碼:

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

設計思路:

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

遇到的問題1:編譯錯誤
解決的辦法:查看error信息,發現忘記定義N變量。blog

遇到的問題2:部分正確
解決的辦法:原本實在找不出錯誤緣由了,可是看書的時候忽然在P153最下面看見一句話「數組的長度必須定義,若是沒法肯定須要處理的數據長度,至少也要估計其上限,並將該上限做爲數組長度」,就發現個人數組沒有定義長度。io

運行結果截圖:

題目2:7-2 求最大值及其下標 (20 分)

本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。編譯

輸入格式:
輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。class

輸出格式:
在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。變量

輸入樣例:
6
2 8 10 1 9 10
輸出樣例:
10 2程序

實驗代碼:

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

設計思路:

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

遇到的問題:編譯錯誤
解決的辦法:看error提示,把i的定義放在開頭。

運行結果截圖:

相關文章
相關標籤/搜索