第4次作业
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;
}
<font size=4 face=“微软雅黑">2.设计思路
第一步:建立数组,包括十个数据。
第二步:用for循环将用户输入的每个数据输入到数组当中去。
第三步:用另一个数组item[10]保存此数组a[10]前后相减得到的数据。
第四步:打印b[10]中共十个数据,打印三个后换行。
<font size=3 face=“微软雅黑">流程图:
<font size=4 face=”微软雅黑">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;
}
<font size=4 face=“微软雅黑">2.设计思路
第一步:建立数组,包括十个数据。
第二步:设置循环,用if语句求出最大值max以及最小下标。
<font size=3 face=“微软雅黑">流程图:
<font size=4 face=”微软雅黑">3.本题调试过程碰到问题及解决办法
刚开始遇到的问题:
因此我打开Dve进行调试。
,
我发现在for循环中出现了问题因此我开始修改我的程序,因为没有为max赋值所以导致程序出错,接着修改了程序。
通过询问老师,发现题意是最大值和最小下标,因此修改程序,
答案正确。
<font size=4 face=”微软雅黑">3.个人总结
本周学习了数组知识,包括数组的定义与赋值,排序数组中数据的大小等。;
课堂上老师讲过之后,自己课下写作业与同学讨论后勉强懂得了使用。
<font size=4 face=”微软雅黑">*4,互评和学习进度**