第四次作业
https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522
MOOC
观看的视频
通过观看视频,我学会了了一道编程题
对于现在所学的数组,在做编程题时还不太熟练,在慕课网上我学习到了数组下标有可能越界的情况。还不太清楚越界的后果,还有从0开始定义的数组。
7-2 输出所有大于平均值的数 (15 分)
1.实验代码
#include<stdio.h> int main(void) { int i; double average,sum;//average存放平均值,sum保存数据之和 int a[10];//定义一个数组a,它有10个整型元素 //将输入数依次赋值给数组a的10个元素a[0]~a[9],并求和 sum = 0; for(i = 0;i < 10;i++){ scanf("%d",&a[i]); sum = sum + a[i]; } //求平均值 average = sum / 10; printf("average = %.2f\n",average); printf("大于平均值的数:"); //逐个与平均值比较,输出大于平均值的数 for(i = 0;i < 10;i++){ if(a[i] > average) printf("%d",a[i]); } printf(" \n"); return 0; }
2.解题思路
第一步:先计算出平均值
第二步:通过for循环比较平均值与数组中的数比较,嵌套条件语句,输出平均值大于数组的数。
流程图
3.本题调试过程碰到问题及解决办法
这道题没有什么难的。
7-2 求最大值及其下标
1.实验代码
#include<stdio.h> int main(){ int n,i,j; scanf("%d",&n); int a[100]; for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(j=0;j<n;j++){ if(a[0]<a[j]){ a[0]=a[j]; i=j; } if(a[0]==a[j]){ a[0]=a[j]; if(i>j){ i=j; } } } printf("%d %d",a[i],i); return 0; }
2.解题思路
第一步:按照数组的顺序和后面的数字一次次比较,一直到找出最大的数。
流程图
3.本题调试过程碰到问题及解决办法
这道题前部分没有难度,后面有一个转哈的问题。
个人总结
在本周我学习了数组,其中我感觉冒泡是比较难的,在私下中我多多询问同学的学习经验。在网上查找资料,帮助我的学习。
https://www.cnblogs.com/freedomjdp/p/10115746.html