第四次作业
本次作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522
一、MOOC数组部分预习知识点
下面是我所看过的MOOC上数组的课程章节
这周我们学习了数组,在老师进行讲解之前,我便有计划的预习了一下数组的知识,当然也碰到了一些自己没有理解的问题。
我们在之前讲循环的时候,就碰到过这样的问题,比如如何写一个程序用来计算用户输入的数字的平均数
当时讲的时候,我一开始就想要多设下几个变量,然后在进行接下来的计算,但是后来老师讲的时候,特意说明了这个问题,如果说当给出的数十分大的时候,那么就会需要很多的变量来储存数字,这样下来就会很麻烦。所以老师教给了我们一种简单的方法。太多的问题就不在这里继续说下去了。
二、、pta作业
一)
1)第十三次作业:7-2 输出所有大于平均值的数 (15 分)
实验代码
#include<stdio.h> int main(){ int n,i; double average,sum; scanf("%d",&n); int a[n]; if(n<1||n>10){ printf("Invalid."); } else{ sum = 0; for(i=0;i<n;i++){ scanf("%d",&a[i]); sum = sum + a[i]; } average = sum / n; printf("%.2f",average); printf("\n"); for(i=0;i<n;i++){ if(a[i]>average){ printf("%d ",a[i]); } } } printf("\n"); return 0; }
2)解题思路
1.先定义一个数组,利用for循环进行数组内的数值的赋值
2.之后进行对所输入的数值进行加和然后求出平均值
3.计算出平均值后,再次利用for循环来进行比较
4.输出平均值,以及比平均值大的数
3)流程图
4)调试过程
此时输出的是刚刚输入的数值的总和
输出刚刚所求的平均值
此时会进行循环,来判断所输入的数值中是否有大于平均值的数。如果有大于平均数的数值就进行输出。
输出数值与答案一致,调试结束。
二)
1)7-2 求最大值及其下标 (20 分)
1)实验代码
#include <stdio.h> int main(){ int n,i,j; int a[10]; scanf("%d",&n); 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)解题思路
与上一题相同,首先还是设置变量、数组,
先定义n,利用for循环输入n个数值,
利用for循环比较各个数值的大小,同时记录记录下最大值及其下标,
打印出最大值,以及最大值的下标。
3)流程图
4)调试过程
输入数值后进行循环判断
此时进行的循环是在进行比较输入的各个数值的大小
输出结果与所给例题结果无误,结束调试
三、个人总结
本周我学习到了很多的关于数组的知识,也学习了冒泡排序法,自己回去后也对自己不懂的地方进行了训练,现在大致都能够完成,希望以后我能够越来越好。
四、学习进度
表格
折线图
互相评论的同学作业网址:马世豪:https://www.cnblogs.com/mashihao/p/10164515.html