第二次作业
第二次作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
一.计算机18-函数
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则a为最大值,反之,b为最大值。
(2)流程图
3.错误提示及运行结果
4.调试截图
5.遇到的问题及解决办法:
用if语句时末尾加了分号,应该把分号去掉
二.数组1 7-4求一组数中的最大值和次大值
1.实验代码
#include<stdio.h> int main() { int i; int max,cmax,a[10]; for(i = 0;i < 10;i++) { scanf("%d",&a[i]); } max = cmax = a[0]; for(i = 0;i < 10;i++) { if(max < a[i]) { //printf("a-\n"); max = a[i]; } } for(i = 0;i < 10;i++) { if((cmax < a[i])&&(a[i] < max)) { cmax = a[i]; } } printf("max=%d,cmax=%d",max,cmax); return 0; }
2.解题思路
(1)文字描述
第一步:定义变量。
第二步:输入数组,建立循环。
第三步:判断语句,输出结果。
(2)流程图
3.错误提示和运行结果
4.调试截图
三.数组2 7-4选择法排序
1.实验代码
# include <stdio.h> int main() { int i, index, k, temp; int a[10]; for(i = 0; i < 10; i++) { scanf("%d", &a[i]); } for(k = 0; k < 3; k++){ index = k; for(i = k + 1; i < 10; i++) { if(a[i] < a[index]) { index = i; } } temp = a[index]; a[index] = a[k]; a[k] = temp; } for(i = 0; i < 10; i++) { printf(" %d",a[i]); } return 0; }
2.解题思路
(1)文字描述
第一步:定义变量,数组
第二步:进行趟数控制
第三步:起始交换位置
第四步:输出结果
(2)流程图
3.错误截图和运行结果
4.调试截图
5.遇到的问题及解决办法
控制趟数时多了i=3 应该改为i<3
三.个人总结
(1)通过这几周学习了函数和数组,并对数组进行了大致的复习
(2)难点:数组的排序,以及函数的调用
解决:上网查阅相关资料,通过中国mooc和ppt学习
四.(1)互评和学习进度
(2)表格和折线图