第十四十五周作业

题目:14周-1
7-4
1.实验代码

#include<stdio.h>
int main(){
int m,a[12]={1,1};
for(m=2;m<=11;m++)
  a[m]=a[m-1]+a[m-2];
for(m=0;m<=11;m++){
  printf("%6d",a[m]);
  if((m+1)%3==0)
  printf("\n");}
  return 0;
}

2.设计思路
(1)主要题目算法
第一步:先定义一个数组,给出前两个数的数值。
第二步:计算出后面的数值。
第三步:在for循环里,m应从2开始循环。
第四步:输出最后一个数字后,换行,m+1等于数组的个数,进行除3取余。
(2)流程图

3.本题调试过程中遇到的问题及解决方法。
错误截图

遇到的问题及解决办法:
题目要求三组数一行,我再用if循环if((m+1)%3==0来实现三组一换行。

题目 14周2
7-1
1、实验代码

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

2、设计思路

(1)主要描述

第一步:审题,带着题干给的输入输出格式去思考,打出大体框架。
第二步:定义变量i,index(下标标示),max(最大值),定义数组a[n]。
第三步:使用for循环输入数据,让index=0相当于保证输入的数从第一个开始。
第四步:再次使用for循环,用if语句判断出符合要求的数组中的数据,如果a[i]>a[index],那么就进行交换,保证max一直最大。
第五步:最后输出最大值及其下标。
(2)流程图
3、本题调试过程碰到的问题及解决办法

错误提示截图:

解决:那个max没有给出定义,还有没有初始输入,要先输入数据的,经过问同学解决的。

posted on 2017-12-03 19:12  梁永鑫  阅读(131)  评论(0编辑  收藏  举报

导航