C語言部落格作業--一二維數組

來源:互聯網
上載者:User

標籤:儲存   gets   虛擬碼   ima   red   code   字串   字串輸入   sum   

一、PTA實驗作業題目1:求整數序列中出現次數最多的數1. 本題PTA提交列表

2. 設計思路
    定義大小為1000的數組a,b,整型變數N,i,j,max,maxnum;    輸入N;    for i=0 to N-1        input a[i];    for i=0 to N-1         b[i]=0;    for i=0 to N-1         for j=0 to N-1              if a[i]==a[j]                   b[i] 自增;    max=0;    for i=0 to N-1    { if b[i]大於max           then{ max=b[i];               maxnum=i;         }    }    output a[maxnum],max;
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。這是之前嘗試過的兩個代碼

第一次打出的代碼,我把它限制為只出現數字1~10,所以錯誤,後來改寫代碼,又因為計數的問題卡了很久,經過多次修改才成功。題目2:簡化的插入排序1. 本題PTA提交列表

2. 設計思路
    定義整型變數i,j,N,x;    input N;    定義整型數組a[N];    for (i =0 to N-1)   input a[i];    input x;    for i=0 to N{            if x<=a[i]            {    for i=N+1 to i                        a[j]=a[j-1];            }            a[i]=k;            break;    }    for(i=0 to N)        output a[i];
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。

一直都是這個測試點錯誤,嘗試用不同的方法輸入不同的數字,仍然找不到錯誤。題目3:判斷上三角矩陣1. 本題PTA提交列表

2. 設計思路
    定義整型變數T,i,n,p,q,flag;    input T;    for(i=1 to T)    {    flag=1;        input n;        定義整型數組 a[n][n];        for(p=0 to n)            for(q=0 to p)                input a[p][q];        for(p=0 to n)            for(q=0 to p)                if a[p][q]!= 0;                    flag = 0;        if flag -> 1            output YES        else             output NO
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。這題沒有太大問題,但是因為寫代碼過程中行列弄錯,所以寫進來做個記錄。二、本周題目集的PTA最後排名。

三、同學代碼結對互評1.互評同學名稱曾文慧2.My Code、互評同學代碼My Code

曾文惠的代碼


3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。My Code在進入迴圈後,先判斷某個數在它所在行是否為最大,再判斷找出該數所在列最小的數與這個數是否相同,否則改變行再次判斷;曾文惠同學與我不同的是在迴圈外多判斷一次只有一個數時的情況。我怕更喜歡My Code,比曾文惠同學少判斷一次,但是結果是相同的。四、本周學習總結1.你學會了什嗎?1.1 C中如何儲存字串?字元數組初始化(1)char s[5]={‘h‘,‘a‘,‘p‘,‘p‘,‘y‘} (2)char str[80]={"happy"}(2)中只對前6個元素賦初值,其他元素的值不確定,str[5]為‘\0‘。1.2 字串的結束標誌是什麼,為什麼要結束標誌?(1)字串的結束標誌是‘\0’;(2)在字串遍曆數組時,由於字串並沒有明確地給出有效字元的個數,只規定在字串結束符‘\0’之前的字元都是有效字元,一般用字串結束符‘\0’來控制迴圈。1.3 字串輸入有哪幾種方法?第一種:採用賦值的方式:
    例如:char a[80]="welcome";
第二種:用scanf函數,字串的格式控制說明為%s
    例如:scanf("%s",s);
第三種:用gets函數
    例如:gets(s);    scanf與gets不同之處在於:scanf遇到斷行符號或空格就結束輸入,而gets可以輸入空格,遇到斷行符號結束輸入。但在結束輸入時都會自動將輸入的資料和<span style="color:red">‘\0’</span>送入數組中。
1.4 數字字元怎麼轉整數,寫個虛擬碼?
    定義字元型變數c;定義整型變數num;    input c;    num=c-‘0‘;    output num;
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?16進位字串轉10進位
    定義字元型數組c[1000];定義整型數組a[1000]={0};    定義整型變數i,j;    gets(c);    for i=2 當c[i]!=0 時 i++    {    if c[i]>=‘0‘&&c[i]<=‘9‘  then  a[i]=c[i]-‘0‘;         if c[i]>=‘a‘&&c[i]<=‘z‘   then  a[i]=c[i]-87;         if c[i]>=‘A‘&&c[i]<=‘Z‘  then  a[i]=c[i]-55;    }    a[i]=-1;    定義整型變數sum=0;    for p=2 當a[p]!=-1時 p++        for j=i-4 to j>=0        {    b[p]=pow(16,j-4);                sum=sum+b[p];        }    output sum;
二進位字串如何轉10進位也是類似於上面的方法2.本周的內容,你還不會什嗎?本周PTA題目的第四題和第六題第六題有一個測試點錯誤,但是還沒找出來

3.期中考試小結3.1 你認為為什麼沒考好?課本中零散的知識點沒有進行總結,沒有認真複習課堂派中的練習,考試時注意力不集中,總是寫錯。3.2 羅列錯題。一、16.
    解:((y=3)&&(x<=4))中“y=3”為“真”,那麼只要“x<=4”條件滿足,迴圈就會執行,所以迴圈總共執行5次。
三、8.
    解:7.(ch=getchar()) 8.(ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘) 考試時忘記了怎麼寫。。
四、1.
    解:。
五、1.
    解:忘記怎麼產生隨機數,具體改正看圖。
3.3 下半學期要怎麼調整C的學習?(1)每次上完課複習課上學習的內容,把課堂上的練習再做一遍,總結小點;(2)每天做一些PTA題目,不堆積作業;(3)學習新知識的同時複習之前的內容,解決自己不會的地方。

C語言部落格作業--一二維數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.