第二次作业
2018-12-20 19:51 yzc666 阅读(368) 评论(3) 编辑 收藏 举报
本次作业要求:
https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
函数:6-2 寻找两个数中最大者
1、实验代码
#include <stdio.h> int max( int a, int b ); int main() { int a, b; scanf("%d %d", &a, &b); printf("max = %d\n", max(a, b)); return 0; }14 int max( int a, int b ) { int max; if(a>b) max=a; else max=b; return max; }
2、解题思路
(1)对算法描述
1:根据要求对变量a,b,max定义
2:对a,b进行比较将较大值赋给max
3:返回max值给原函数
3,流程图
4,运行结果
5,注意事项:不能按惯性思维打出return 0,而是应该输入return max。
数组1:7-3 最高分、最低分、平均分
1、实验代码
#include <stdio.h> main() { int j = 6; int a[j]; int max,min,avg; int i; for(i = 0; i < j; i++) { scanf("%d",&a[i]); } max = min =avg = a[0]; for(i = 1; i < j; i++) { if(min>a[i]) {min = a[i];} if(max<a[i]) {max = a[i];} avg += a[i]; } avg = avg/6.0; printf("max:%d\nmin:%d\navg:%d",max,min,avg); return 0; }
2,文字描述
1:输入i,a[i]
2:令max=min=a[0]
3:判断max是否小于a[i]。如果小于,max=a[i];如果大于,max=a[0]
4:判断min是否大于a[i]。如果大于,max=a[i];如果小于,min=a[0]
5:输出max,min
6:sum=sum+a[i]
7:avg=sum除以6
8:输出avg
3,流程图
4,运行结果
5,本题调试过程碰到问题及解决办法
开始没有注意到两次判断,使得我在未能顺利输出
1.实验代码
#include<stdio.h> main() { int n,x,i,j=0,a[20]; 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) { j=1; printf("%d",i); } } if(j==0) { printf("Not Found"); } return 0; }
2,文字描述
要求从输入的N个整数中查找给定的X
1,定义函数和各个量,输入各个量的值
2,执行if循环语句对整数进行查找
3,如果找到整数则输出整数,并得到它在数组中的位置i
4,如果找不到这个值,则改变j的值,并输出Not Found
3,流程图
4.本题调试过程碰到问题及解决办法
5,本题调试过程中遇到的问题及解决办法
开始时我对于N的定义并没有了解透彻,使得输出只会出现not found,在我重新定义N以后,程序可以正常运行
个人总结
(1)最近学习了数组的使用方法,对一维二维数组有了初步的了解,此外还学习了数组的冒泡排序法,选择排序法,并且在课下还了解了一下java。
(2)关于函数的构建,这一点对我来说还是难点,仍然需要对这个多加了解和多次敲写,而在数组方面,我对二维数组也只有一些浅显的认识,而对于如何使用它更是一窍不通。
对同学的点评
表格与折线图