MOOC
一
学习了四节课。
二
学习了数组的初始化。
以及使用a[number]=0来重置数组。
以及如何获取数组的单元个数。
当想将一个数组赋值给另一个数组的时候,直接赋值是错误的,应该写入一个循环即遍历。
以及二维数组的基础部分
三
老师讲的通俗易懂,外加还没有听到难点,所以学习的部分都听懂了。
7-1 输出数组元素
1.实验代码
#include<stdio.h> int main() { int a[10],n=0,i=0,h=0,j=0,item[10]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(j=0;j<n;j++){ item[j]=a[1+h]-a[h]; h++;} h=0; for(j=0;j<n-1;j++){ if(j==0){ printf("%d",item[0]); } else if(h==3){ printf("\n"); printf("%d",item[j]); h=0; } else { printf(" %d",item[j]);} h++;} return 0; }
2.设计思路
第一步:建立数组,包括十个数据。
第二步:用for循环将用户输入的每个数据输入到数组当中去。
第三步:用另一个数组item[10]保存此数组a[10]前后相减得到的数据。
第四步:打印b[10]***十个数据,打印三个后换行。
流程图:
3.本题调试过程碰到问题及解决办法
刚开始遇到的问题:
因此我打开Dev C++,开始调试程序:
我发现在item数组中没有成功读取到a[10]数组中相减的数据,原因是item[10]在int里表示10个数据,而在代码里只表示item数组中第十一个数据,因此我修改错误:
修改完成后,运行代码,程序成功运行切没有错误。
7-2 求最大值及其下标
1.实验代码
#include<stdio.h> int main() { int i,n,max,index; int a[10]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } max=a[0]; for(i=0;i<n;i++){ if(max<a[i]){ max=a[i]; index=i; } } printf("%d %d",max,index); return 0; }
2.设计思路
第一步:建立数组,包括十个数据。
第二步:设置循环,用if语句求出最大值max以及最小下标。
流程图:
3.本题调试过程碰到问题及解决办法
刚开始遇到的问题:
因此我打开Dve进行调试。
,
我发现在for循环中出现了问题因此我开始修改我的程序,因为没有为max赋值所以导致程序出错,接着修改了程序。
通过询问老师,发现题意是最大值和最小下标,因此修改程序,
答案正确。
3.个人总结
本周学习了数组知识,包括数组的定义与赋值,排序数组中数据的大小等。;
课堂上老师讲过之后,自己课下写作业与同学讨论后勉强懂得了使用。
*4,互评和学习进度**