第二次作业
本次作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
函数第4题:
代码:
int even( int n ) { if(n%2==0) { return 1; } return 0; }
解题思路:
第一步:定义函数,定义变量
第二步:如果这个数与2取余为0正确,返回1表示是偶数,反之,返回0
流程图:
本题调试过程碰到问题及解决办法:
编译过程中没有遇到问题
数组1第3题:
代码:
#include <stdio.h> int main() { int i; int a[6],min,max,avg,sum; for(i=0;i<=5;i++) { scanf("%d ",&a[i]); } max=min=sum=a[0]; for(i=1;i<=5;i++) { if(min>a[i]) {min=a[i];} if(max<a[i]) {max=a[i];} sum=sum+a[i]; } avg=sum/6; printf("max:%d\n",max); printf("min:%d\n",min); printf("avg:%d\n",avg); return 0; }
解题思路:
第一步:先定义一个有6个元素的数组
第二步:输入6个数
第三步:让max=min=sum=a[0]
第四步:循环比较,作出交换
第五步:给出平均值公式
第六步:输出结果
流程图:
本题调试过程碰到问题及解决办法:
编译过程中没有遇到问题
数组2第1题:
代码:
#include <stdio.h> int 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]); } return 0; }
解题思路:
第一步:定义一个可以容纳11个元素的数组
第二步:按升序输入n个数,n<10
第三步:输入x
第四步:运用while循环,判断x在数组的位置
第五步:将x后面的元素依次向后退一个位置
第六步:按升序输出这n+1个元素
流程图:
本题调试过程碰到问题及解决办法:
编译过程中没有遇到问题
个人总结:
学习内容:一维数组,二维数组,冒泡排序法,选择排序法
收获:编程能力有所提升,基础问题的错误慢慢减少,学到了新的知识,同样的问题有了更多种解法
难点:冒泡排序法,选择排序法
措施:找题目练习
点评同学作业:
王文琪同学:https://www.cnblogs.com/qqovo/p/10134759.html
梁德辉同学:https://www.cnblogs.com/wsaldh/p/10127051.html
孟琛博奥同学:https://www.cnblogs.com/mcba22/p/10133371.html
表格:
折线图: