作业要求: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.表格与折线图