天天看点

第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 学习进度与折线图

上一篇: 第七周作业
下一篇: 第四周作业