第二次作业
作业要求: https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
函数6-2 找俩个数中的最大值
实验代码:
int max(int a,int b) { int max; if(a>b) { max=a; } else { max=b; } return max; }
解题思路:
第一步:首先定义max
第二步:利用if-else语句找出最大值
第三步:返回max
流程图:
本题调试过程碰到问题及解决方法:
本题在调试过程中没有错误
数组1 7-3 最高分、最低分、平均分
实验代码:
#include<stdio.h> int main() { int i,sum=0,avg=0,min,max; int a[10]; for(i=0;i<6;i++) { scanf("%d",&a[i]); sum=sum+a[i]; } avg=sum/6; max=min=a[0]; for(i=0;i<6;i++) { if(min>a[i]) min=a[i]; if(max<a[i]) max=a[i]; } printf("max:%d\nmin:%d\navg=%d\n",max,min,avg); return 0; }
解题思路:
第一步:输入i,sum,avg,max,min,a[i]
第二步:把sum和avg的初始值设成是0
第三步:利用for循环输入6个数字,并算出6个数的和,用总和除以6算出avg
第四步:把最小值和最大值都设成是a[0]
第五步:利用for循环比较最大值与最小值(a[i]>max说明数组中有数字比max大,所以循环比较找出最大值,找出最小值同理)
流程图:
本题调试过程碰到碰到问题及解决方法:
这道题在第一次编译时是0错误0警告的,但是在运行时没有得到我想要的结果。错误的原因时由于自己的马虎着急没有在printf后给出值所对应的名称,经过改正编译运行正确截图如下
数组 7-2 查找整数
实验代码:
#include<stdio.h> int main() { int N,i,x; int a[20]; scanf("%d",&N); scanf("%d",&x); for(i=0;i<N;i++) { scanf("%d",&a[i]); } for(i=0;i<N;i++) { if(a[i]==x) { printf("%d",i); break; } } if(a[i]!=x) { printf("Not found"); } return 0; }
解题思路:
第一步:输入正整数N,i,x,和a[20](表示a[i]个数在20以内)
第二步:利用for循环输入a[20]
第三步:利用for循环和if语句找出数组a[i]的第几个数(从0开始)与输入的x相等,若相等则if语句结束
第四步:利用if语句,如果不相等,则输出“Not found”
流程图:
编译没有错误
个人总结:
(1)学习了函数,一维数组,二维数组
(2)在学习数组时不知怎么去调用函数,通过打代码得知了如何去调用;学习数组时不知如何对数组中一一赋值,之后得知是运用for循环赋值,不能像之前一样。
我评论了:章宇楠同学:https://www.cnblogs.com/zyn-66/p/10145222.html
苏末然同学:http://www.cnblogs.com/smr2018023977/
丛梓祺同学:http://www.cnblogs.com/congziqi123/
我邀请:苏末然同学,章宇楠同学,丛梓祺同学来评论我的博客
表格与折线图: