作業要求: https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
函數:找出兩個數中最大值;
實驗代碼:
#include <stdio.h> int max( int a, int b ){ int max; if(a>b) max=a; else max=b; } int main() { int a, b; scanf("%d %d", &a, &b); printf("max = %d\n", max(a, b)); return 0; }
解題思路:
(1)
第一步:定義函數max,定義變量max,判斷a、b的大小關系,將大的值賦給max;
第二步:定義主函數;
第三步:定義a、b;
第四步:輸入a、b;
第五步:輸出max;
(2)
調試中所遇問題及解決方法:
1、定義函數后加分號多余;(delete“;”)
2、max函數中返回值0,導致所得數據錯誤;(delete“return 0;”)
數組1:交換最大值和最小值;
實驗代碼:
#include <stdio.h> main() { int n,i,a[10],c,d,min,max,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } min=max=a[0]; for(i=0;i<n;i++) { if(a[i]<=min) { min=a[i]; j=i; } } c=a[0]; a[0]=min; a[j]=c; for(i=0;i<n;i++) { if(a[i]>=max) { max=a[i]; j=i; } } d=max; a[j]=a[n-1]; a[n-1]=d; for(i=0;i<n;i++) printf("%d ",a[i]); }
解題思路:
(1)
第一步:定義數組、變量min、max及相應變量n、i;
第二步:輸入數組中的元素個數輸入數組中元素;
第三步:將數組中第一個元素的值賦給max與min,
第四步:依次將數組中的元素與min相比,將最小值賦給min;
第五步:將最小值與數組中第一個元素互換;
第六步:依次將數組中元素與max相比,將最大值賦給max;
第七步:將最大值與數組中最后一個元素互換;
第八步:輸出數組元素;
(2)
編程中所遇問題及解決方法:
1、將數組第一個元素誤以為是a[1];(數組中第一個元素為a[0])
2、輸出數組輸出有誤;(應循環輸出數組元素)
數組2:簡化的插入排序;
實驗代碼:
#include <stdio.h> main() { int n,i,j,x,a[11]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&x); i=0; while(a[i]<x&&i<n) i++; for (j=n-1;j>=i;j--) { a[j+1]=a[j]; } a[i]=x; for(i=0;i<n+1;i++) printf("%d ",a[i]); }
解題思路:
(1)
第一步:定義數組及其相關變量;
第二步:輸入數組元素個數及其元素;
第三步:輸入所插入常數;
第四步:從第一個元素依次判斷是否小於所插入常數,若判斷完或數組元素大於所插入元素即停止;
第五步:將大於所插入常數的數組元素序列依次向后加一;
第六步:輸入數組元素;
(2)
調試中所遇問題及解決方法:
1、”&&“與”||“算數符混淆;(將”||“換成”&&“)
2、最后輸出數組元素時少輸出一個;(將a[n]換成a[n+1])
總結:
1、定義函數后加分號多余;
2、數組中第一個元素為a[0];
3、輸出數組時用for循環語句輸出;
4、定義函數后不用加”;“;
5、”&&“:與,”||“:或,”!“非;
6、三目運算符:”A?B:C;“,先判斷A的值是否為真,若為真則執行B,若為假則執行C;
7、多維數組:int num[3][4]={{1,2,3,4}{5,6,7,8}{4,3,2,1}{8,7,6,5}};
<現在睡覺的話會做夢,而現在學習的話會讓夢實現>
評論:
於桐: 於桐同學的作業還是很優秀的,不過第一個流程圖為什么要給兩遍呢,第二個題的解題思路是否有點過於簡單呢,個人觀點僅供參考^-^。
王文琪:王文琪同學的作業完成的很完美 對於學習的總結很到位 值得我去學習 相信你在你的努力下會變得更加優秀
崔鳳宇:崔鳳宇同學的作業內容很清晰,不過我覺得解題步驟是否過於簡化,沒能明確反應接下來的流程圖,相信你能在接下來的學習中更優秀。
圖表:
時間 |
十三周 | 十四周 | 十五周 | 十六周 | 十七周 |
博客字數 | 0 | 0 | 0 | 129 | 217 |
代碼行數 | 92 | 84 | 102 | 98 | 117 |