第四次作业

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
",average);
printf("大于平均值的数:");
//逐个与平均值比较,输出大于平均值的数
   for(i = 0;i < 10;i++){
if(a[i] > average)
printf("%d",a[i]);
}
printf(" 
");

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

https://www.cnblogs.com/chumengGTRlhz/p/10116012.html

https://www.cnblogs.com/a-b-c-d-e1/p/10116269.html

原文地址:https://www.cnblogs.com/0224ming/p/10164004.html