作業要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
函數6-2 找兩個數中最大者
1.實驗代碼
int max( int a, int b ) { int max; if(a>b) { max=a; }else { max=b; } return max; }
2.設計思路
(1)文字描述
第一步:輸入a,b
第二步:判斷a是否大於b
第三步:若a>b,max=a;若a<b,max=b
第四步:結束函數調用並返回max
(2)流程圖
3.本題調試過程碰到問題及解決辦法
問題:沒有弄清函數調用的定義,按習慣直接打了"return 0;"
解決辦法:通過查閱書籍,意識到了自己的錯誤,將"return 0;"改為"return max;"
數組1 7-3 最高分、最低分、平均分
1.實驗代碼
#include <stdio.h> int main() { int a[6],i,max,min,avg,sum; for(i=0;i<6;i++) { scanf("%d",&a[i]); } max=min=a[0]; for(i=0;i<6;i++) { if(max<a[i]) max=a[i]; if(min>a[i]) min=a[i]; } printf("max:%d\n",max); printf("min:%d\n",min); for(i=0;i<6;i++) { sum=0; for(i=0;i<6;i++) { scanf("%d",&a[i]); sum=sum+a[i]; } avg=sum/6; printf("avg:%d",avg); return 0; } }
2 設計思路
(1)文字描述
第一步:輸入i,a[i]
第二步:令max=min=a[0]
第三步:判斷max是否小於a[i]。如果小於,max=a[i];如果大於,max=a[0]
第四步:判斷min是否大於a[i]。如果大於,max=a[i];如果小於,min=a[0]
第五步:輸出max,min
第六步:sum=sum+a[i]
第七步:avg=sum除以6
第八步:輸出avg
(2)流程圖
3.本題調試過程碰到問題及解決辦法
問題1:沒有定義整型變量sum
解決辦法:加上int sum;
問題2:沒有初始化sum
解決辦法:初始化sum,令sum=0
數組2 7-2 查找整數
1.實驗代碼
#include <stdio.h> #define N 20 int main(void) { int a[N]; int i, n, x; scanf("%d %d", &n, &x); for(i = 0; i < n; i++) scanf("%d", &a[i]); for(i = 0; i < n; i++) { if(a[i] == x) { printf("%d\n", i); break; } } if(i >= n) printf("Not Found\n"); return 0; }
2 設計思路
(1)文字描述
要求從輸入的N個整數中查找給定的X
第一步:設置一個數組
第二步:用一個循環將n個數放入數組中
第三步:用if來尋找數字x
第四步:判斷是否找到x。如果找到,輸出x的位置(從0開始數);如果超出數組的范圍,沒有找到,輸出“Not Found”
(2)流程圖
3.本題調試過程碰到問題及解決辦法
問題:沒有定義N
解決辦法:經過同學的指點,加上了#define N 20
個人總結
1、總結這幾周所學內容與收獲
(1)所學內容:
1.1一維數組的引用,定義的一般形式為:類型名 數組名 [數組長度]
int a[10]; /*定義一個有10個整型元素的數組a*/
char c[200]; /*定義一個有200個字符型元素的數組c*/
float f[5]; /*定義一個有5個單精度浮點型元素的數組f*/
1.2二維數組行、列下標的對應關系
術語 含義 下標規律
主對角線 從矩陣的左上角至右下角的連線 i==j
上三角 主對角線以上部分 i<=j
下三角 主對角線以下部分 i>=j
副對角線 從矩陣的右下角至左下角的連線 i+j==N-1
1.3字符串的結束符'\0'
1.4字符串的存儲、賦值、輸入
static char s[80];
s[0]='a';
s[1]='\0';
也可等價於:
static char s[80]="a";
1.5字符數組的輸入與輸出可以有兩種方式
(1)逐個字符輸入輸出。用格式符“%c”輸入或輸出一個字符。
(2)將整個字符串一次輸入或輸出。用“%s”格式符,意思是對字符串(string)的輸入輸出
1.6區分"a"和'a'.
前者是字符串常量,包括'a'和“\0”兩個字符,用一維數組存放;后者是字符常量,只有一個字符,可以賦給字符變量
(2)收獲
我知道了數組是最基本的構造類型,它是一組相同類型數據的有序集合。學會了數組的冒泡排序法和選擇排序法以及數組的相關應用,收獲頗豐。
2、難點及措施
(1)難點
我對於冒泡排序法和選擇排序法理解的不是很到位,有時候在應用做題時會卡住。
(2)措施
通過車老師的復習鞏固,結合書上的知識點,還有同學們的幫助,我克服了這些困難。
互評和學習進度
1.點評3個同學的本周作業
我點評了梁德輝同學的本周作業:https://www.cnblogs.com/wsaldh/p/10127051.html
我點評了於桐同學的本周作業:https://www.cnblogs.com/4399yt/p/10139089.html
我點評了孟琛博奧同學的本周作業:https://www.cnblogs.com/mcba22/p/10133371.html
2.表格與折線圖