第二次作業


一。

作業連接     https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502

二。

 函數.統計個位數字:

int Count_Digit ( const int N, const int D )//接口定義
{
  int n = abs(N), m = 0;//定義初始值
  if(D == 0 && n == 0)  return 1;//如果n=0,則輸出1
  while(n != 0)//當n不等於0
  {
    if(n % 10 == D)  m++;//n對10取余為D,m=m+1
    n /= 10;//n=n/10
  }
  return m;//輸出m
}

過程描述:接口定義,定義初始值,判斷n是否等於0,如果等於0則輸出1,如果不等於0則進入while循環m++,n/=10.

 

 

 錯誤提示:最后結束時要輸出的是m而不是0.

改正方法:看前面定義要輸出的是什么,把0改成m.

 數組.1:7-4 求一組數中的最大值和次最大值

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

2.解題思路

第一步:定義變量

第二步:輸入數組中的數,使max=a[0];cmax=a[0];

第三步:建立for循環

第四步:在for循環中建立if判斷語句條件為max<a[i]?

第五步:在for循環中建立if判斷語句條件為cmax<a[i]&&i!=p?

 

 第一次沒有想到編號的用法導致一直沒有滿足題目要求,然后對比了其他的代碼發現這點錯了。

數組二:7-4 選擇法排序

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

解題思路

(1)文字描述

第一步:定義變量 i,n,讀入n個數  temp 臨時變量
第二步:定義1個數組a,它有10個整型元素
第三步:利用for(i = 0; i < 3;i++)進行趟數控制
第四步:利用for(j = i+1; j <10; j++)起始交換位利用temp=a[i];a[i]=a[min];a[min]=temp;進行交換;

第五步:輸出最后結果;

 

 

 

 

遇到的問題是答案錯誤
再用Devc++進行調試時發現沒有編譯錯誤,但在輸出結果上發現5和6的位置沒有改變。
后來發現在for(i = 0; i <= 3;i++)這個位置上趟數的控制應該是<3,而不是<=3,
將問題糾正以后,5和6果然換了位置。

三。個人總結

這幾周一直學的是數組,我覺得我自己沒有學到如何靈活運用數組,出現了錯誤后不知道該如何改正,需要看別人的代碼。

看了教材上的覺得作業不是很大,就是感覺自己總是想不出來該如何往下進行。

四。互評和學習進度

1)https://www.cnblogs.com/hanjiale/p/10151736.html#4144586    韓家勒

      https://www.cnblogs.com/promise-781465023/p/10133773.html#4144593    周文豪

      https://www.cnblogs.com/dnayun/p/10139147.html#4144595    趙豪

2)

 


免責聲明!

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



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