2019年春季學期第三週做業

1、本週完成的做業

基礎做業

題目1.本週請你們完成上週挑戰做業的第一部分:給定一個整數數組(包含正負數),找到一個具備最大和的子數組,返回其最大的子數組的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子數組爲[3, 10, -4, 7, 2]
輸入:
請創建以本身英文名字命名的txt文件,並輸入數組元素數值,元素值之間用逗號分隔。
輸出
在不刪除原有文件內容的狀況下,將最大子數組以及子數組的和寫入文件。數組

1).實驗代碼

#include<stdio.h>
int main(void)
{
  FILE *sz=fopen("C:\\Users\\LILI\\Desktop\\LX\\input.text","a+");
  
  int LI[100];
  char ch;
  int i, number, time;
  
  for(i = 0;fscanf(sz,"%d%c", &number, &ch); i ++)
  {
    time++;
    LI[i] = number;
    if(ch == "\n")
        break;
  }
  int k, j, m, max=LI[0], middle, sum, start=0, end=0;
  
  for(k=0; k<time; k++){
    for(j=k; j<k; j++){
        sum = 0;
        for(middle = i; middle < j+1; middle ++)
           sum += LI[middle];
        if(sum >= max)
        {
          start = k;
          end = j;
          max = sum; 
        }
      }
  }
  for(m = start; m <= end; i++)
      fprintf(sz,"%d ", LI[m]);
    fprintf(sz,"\n%d", max);
    
    fclose(sz);
    return 0;
}

2). 設計思路

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

遇到的問題:數據寫不進文件
解決的辦法:觀察代碼,發現時文件名打錯了。學習

4).運行結果截圖

預習做業

題目2.7-1 判斷上三角矩陣 (15 分)
上三角矩陣指主對角線如下的元素都爲0的矩陣;主對角線爲從矩陣的左上角至右下角的連線。設計

本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。調試

輸入格式:
輸入第一行給出一個正整數T,爲待測矩陣的個數。接下來給出T個矩陣的信息:每一個矩陣信息的第一行給出一個不超過10的正整數n。隨後n行,每行給出n個整數,其間以空格分隔。code

輸出格式:
每一個矩陣的判斷結果佔一行。若是輸入的矩陣是上三角矩陣,輸出「YES」,不然輸出「NO」。視頻

輸入樣例:blog

2
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2

輸出樣例:input

YES
NO

1).實驗代碼

#include<stdio.h>
int main(void)
{
  int T, n, i, j, time, flag;
  scanf("%d", &T);
  
  int a[10][10];
  
  for(time = 0;time < T;time ++)
  {
    scanf("%d\n", &n);
    flag=0;
   for(i = 0; i < n; i ++){
    for(j = 0; j < n; j ++){
       scanf("%d", &a[i][j]);   
    }
   }
    for(i = 1; i < n; i ++){
    for(j = 0; j < i; j ++){
       if(a[i][j] != 0)
        {
         flag=1;
        break;  
        }
     }  
    }
  if (flag == 1)
      printf("NO\n");
   else
      printf("YES\n");
}
 
  return 0;
  
}

2). 設計思路

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

遇到的問題1:答案錯誤(只能判斷一個矩陣是否爲上三角矩陣)
解決的辦法:在pta上沒有錯誤緣由,我就用本身編譯器試了一下,發現只能判斷一個矩陣,就想到了錯誤緣由應該出在第一個循環那裏,改了半天,結果發現並非,後來聽了搭檔的話把判斷是否爲上三角矩形的條件改了(i<j去掉)。編譯器


遇到的問題2:段錯誤
解決的辦法:不知道哪裏錯誤了,就問了本次的搭檔楊浩誠,搭檔說不用變長數組(括號裏的是變量就是變長數組),就把int a[n][n]改成了int a[10][10]。io

4).運行結果截圖

2、學習進度條

3、學習感悟

心得:

基礎做業:主要靠學習助教的教學視頻寫出,寫該題的主要問題在不理解題目的意思,還有發現本身本週的專業課學習態度有問題,基本靠老師推着走,對於其餘課程的學習,英語競賽和四級的準備,沒有分配好時間,下一週要加油學習C才行。
預習做業:又學到了一種新類型的題,知道了變長數組有時是沒有必要的。跟搭檔交流了一下學習c語言時遇到的難題,發現本身之後將會遇到更多的困難,但願本身能一直堅持下去。

完成做業的消耗時間: 8小時+4小時

相關文章
相關標籤/搜索