第14、15周作业

要求一:题目已完成。
要求二
求最大值及其下标
一、实验代码

# include <stdio.h>
int main(void)
{
int n, a[10], i, max, j;
scanf("%d", &n);
for(i=0; i<n;i++)
  {
  scanf("%d", &a[i]);
  }
for(i=0; i<n;i++)
  {
  if(i==0)
    {
      max = a[i];
      j = i;
    }
  if(max<a[i])
    {
      max = a[i];
      j = i;
    }
  }
printf("%d %d\n", max, j);
return 0;
}

二、设计思路
1.根据题意定义变量,分别是整型变量i(下标),n(数组长度),j,max(最大值),a[10](数组);
2.理解题意,本题需要循环和判断两种结构,然后确定循环体和判断条件,例如:判断条件:max<a[i]),
 循环体: for(i=0; i<n;i++)
  {
  scanf("%d", &a[i]);
  }
3.先输入一个值,确定数组长度,然后输入几个数,在进行判断,即与最大值进行比较,最后进行循环,遍历数组找到最大值;
4.输出最大值及其下标。
三、程序框图

四、遇到的问题及解决方法
遇到的问题:编译没有错误,提交时总是提示答案错误,截图如下:

解决方法:先将错误提示翻译成汉语,然后再编译器上单步调试,再对比其他同学的答案,发现应将i=1,写成 i=0,改过来就对了。
7-3 求整数序列中出现次数最多的数

一,实验代码

#include<stdio.h>
int main()
{
    int i,j,n,max,x=0;
    scanf("%d",&n);
    int a[n],b[n];
    for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
b[i]=0;
for(j=0;j<n;j++)
if(a[i]==a[j])
b[i]++;
}
    max=b[0];
for(i=1;i<n;i++)
if(max>b[i])
{
max=b[i];
x=i;
}
printf("%d %d",a[x],max);
return 0;
} 

二、设计思路
1.根据题意定义变量,分别是整型变量i,j,n(定义数组长度),max(出现最多的次数),x(下标),a[i](数组),b[i](数组);
2.理解题意,本题需用循环,判断两种结构,并确定循环体和判断条件,例如:循环体:
for(i=0;i<n;i++)
{
b[i]=0;
for(j=0;j<n;j++)
if(a[i]==a[j])
b[i]++;
};
判断条件:max>b[i];
3.先输入一个数,确定数组长度,在输入几个数,即数组中的数,然后遍历数组,找到出现最多的数;
4.输出结果。
三、程序框图

四、遇到的问题及解决方法
问题截图如下:

问题原因:第一个for中,i=1.
解决方法:将上述的问题都改正后,在编译器上编译运行,结果正确后,提交就可以了。
将数组中的数逆序存放
一、实验代码

#include <stdio.h>
int main()
{
    int i, n, swap, array[10];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        scanf("%d", &array[i]);
    for (i = 0; i < n/2; i++)
    {
        swap = array[i];
        array[i] = array[n-1-i];
        array[n-1-i] = swap;
    }
    for (i = 0; i < n-1; i++)
        printf("%d ", array[i]);
    printf("%d\n", array[n-1]);
    return 0;
}

二、设计思路
1.根据题意定义变量,分别是整型变量:i,n(数组长度),swap(中间变量),array[10](数组),
2.理解题意,本题需要用到循环结构,确定循环体,即数组中的数逆序存放的代码:
 for (i = 0; i < n/2; i++)
{
swap = array[i];
array[i] = array[n-1-i];
array[n-1-i] = swap;
}
3.输入数字,确定数组长度,再输入几个数,确定数组长度,数组首尾位置的数互换,以此类推‘
4.输出新的数组。
三、程序框图

四、遇到的问题及解决方法
本题未遇到问题
要求三
git:https://git.coding.net/zgq459947/EDG.git
要求四
总结
学习了数组,感觉不是特熟练,课后多练练,直到熟练。
作业互评
1 丰大为http://www.cnblogs.com/DavidPark/p/7955168.html
2 班庆泽http://www.cnblogs.com/wsbqz/p/7965666.html
3 杨志群http://www.cnblogs.com/12138-/p/7955161.html
2 学习进度与折线图

posted @ 2017-12-03 16:04  张国庆  阅读(246)  评论(4编辑  收藏  举报