第二次作业
作业要求: 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 |