第二次作业
---恢复内容开始---
作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
函数6-2找出两数中最大值
实验代码
int max(int a,int b)
{
int result;
if(a>b)
{
result=a;
}
else
{
result=b;
}
return result;
}
解题思路:
文字描述:第一步:设置变量a,b;
第二步:运用if语句如果a>b结果result为a,如果a<b结果result为b
流程图:
运行截图:
调试过程:
数组一 7-4求一组数中最大值和次最大值
实验代码
#include<stdio.h> int main() { const int N=10; int a[N]; int i; int p,q; int cmax,max; for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=a[0]; cmax=a[0]; for(i=1;i<10;i++) { if(max<a[i]) { max=a[i]; p=i; } } for(i=1;i<10;i++) { if(cmax<a[i]&&i!=p) { cmax=a[i]; } } printf("max=%d,cmax=%d",max,cmax); return 0; }
解题思路
文字描述:
第一步:定义一个数组a[N],定义变量i,p,q,最大值max,此最大值cmax;
第二步:输入数组a[i];建立for循环,设置if语句:如果max<a[i]时则max=a[i]
继续循环,循环结束时,p=i,p为最大值序数,max为最大值;
第三步:建立for循环,设置if语句:如果cmax<a[i],切i不等于p(a[i]不是最大值)
则cmax为次最大值
第四步:输出max,cmax
流程图:
错误提示:
设置断点:
遇到的问题:当求次最大值时没有去除最大值的影响,第二处for循环没有设置cmax不等于max,结果错误
解决方法:仔细阅读题干,理解次最大值,将最大值的序号与次最大值的序号不同,从而抛出最大值的干扰
数组二7-2查找整数
#include<stdio.h> int main() { const int N=20; int a[N]; int x,n,i,flag=0; 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) { flag=1; break; } else { flag=-1; } } if(flag==1) { printf("%d",i); } else { printf("Not Found"); } return 0; }
解题思路:
文字描述:第一步:定义数组a[N],定义变量x,n,i,flag,输入n,x;
第二步:建立for循环,输入数组a[i];
第三步:建立for循环,设置if语句如果数组a[i]=x,flag=1,如果a[i]不等于
x,则flag=-1
第四步:设置if语句,如果flag=1,则输出i;如果flag=-1时,则输出Not Found
流程图:
错误提示:
设置断点:
:
遇到的问题:没有终止第一个for循环,使flag=1,不能输出Not Found
解决方法:仔细观察程序,研究变化情况
总结:
这段时间,主要学习了函数的调用,如何更好的运用函数,并且学到了数组的定义,数组的排序方法,一维数组,二维数组的运用,
但是感觉掌握的还不是特别熟,敲击代码不是特别熟练,还是更应该的多多敲击,不断地去尝试,还有就是,在上课之前,多多预习
评论:邱作鹏
代码行数 | 代码所打时间/h | 博客字数 | 博客字数所需时间 | |
第12周 | 2000 | 16 | 1000 | 4 |
第13周 | 2200 | 19 | 0 | 0 |
第14周 | 2400 | 20 | 0 | 0 |
第15周 | 2500 | 22 | 1100 | 4 |
posted on 2018-12-22 11:38 你是我年少的欢喜呵呵 阅读(185) 评论(6) 编辑 收藏 举报