第十四周十五周作业

一、
7-1 数组中偶数的和(14周PTA作业-1)
1、实验代码:

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

2、设计思路:
第一步:先定义一个数值为十的数组a[10],两个整数变量i,s,求十个数组中的偶数和。
第二步:用for循环输入数组,直到数组除以二取余为零,则为偶数,进行累加。
第三步:当i大于10后结束循环,输出s对应的值。
3、流程图:
1238904-20171203202323710-70063589.png
4、PTA提交列表:
1238904-20171203190151476-1958807079.png
5、本题出现的问题与解决方法:
错误截图:1238904-20171203191001679-1768617942.png
出现的错误:编译的时候未出现问题,编程思路也没出问题,输入的数组中的元素输入的不是进行for循环的元素。
解决方法:将a[s]改成a[i]。(本题出错在于我做题不专注造成的。)
7-2 输出小于均值的数(14周PTA作业-1)
1、实验代码:

#include<stdio.h>
int main()
{
  int i,sum=0;
  int a[10];
  double average;
  for(i=0;i<=9;i++)
  {
    scanf("%d",&a[i]);
    sum+=a[i];
  }
  average=sum/10.0;
  for(i=0;i<=9;i++)
  {
    if(a[i]<average)
    {
      printf("%d ",a[i]);
    }
  }
  return 0;
}

2.设计思路:
第一步:定义一个数组a[10],整数变量i,sum,一个浮点型变量average,求输入10个整数,计算这些数的平均值,再输出所有小于平均值的数。
第二步:用for循环进行数组的输入,和的累加计算出平均数。
第三步:如果出现某个数大于平均数,就输出这个数。
3、流程图:
1238904-20171203202352538-1596375917.png
4、PTA提交列表:
1238904-20171203202431085-1640814987.png
5、本题出现的问题与解决方法:
错误截图:1238904-20171203194517116-490630656.png
出现的错误:(1)编译未出现问题,输出的答案少了一个“23”跟提莫要求不符。(2)在最后输出的括号中“%d”后面没加空格。
解决方法:在第一个for循环中sum后面加上一个“+”。
7-3 fibonacci数列(14周PTA作业-1)
1、实验代码:

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

2.设计思路:
第一步:定义数组a[12],给出前两个数的数值,再定义变量i。
第二步:利用for循环依次算出十二个数值,注意:因为前两个数值的大小已经给出,所以i要从2开始。
第三步:本题要求用数组计算fibonacci数列的前12个数,并按每行打印3个数的格式输出。即前两个数相加得第三个数。
第四步:要求在输出最后一个数字后,有一个换行,所以i加1等于数组的个数后进行除3取余,实现三个数换行。
3、流程图:
1238904-20171204010229185-1931935278.png
4、PTA提交列表:
1238904-20171203211615429-65840139.png
5、本题出现的问题与解决方法:
本题在编译的过程未出现问题。
7-4 求最大值及其下标(14周PTA作业-2)
1、实验代码:

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

2.设计思路
第一步:定义i,n,min,还要定义一个数组a[n]。
第二步:用for循环输入所有的数组值,然后假设a[0]为最大值,其下标也为0。
第三步:将所有的数组与最大值min比较大小,如果给出的数组a[i]比min大,就进行交换,使min永远最大,利用for循环实现所有数组的比较。
3、流程图:
1238904-20171204010702904-244470517.png
4、PTA提交列表:
1238904-20171203212257538-668218221.png
5、本题出现的问题与解决方法:
错误截图:1238904-20171203233239710-2007183122.png
出现的错误:无法编译出正确答案。
解决方法:在第二个for循环前面加上min=0.
7-5 选择法排序(14周PTA作业-2)
1、实验代码:

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

2.设计思路:
第一步:定义整数变量n,i,x,y,数组a[n+1]。
第二步:用for循环输入所有的数组,如果最大值a[i+1]小于数组a[i],就进行交换,让y=a[i],a[i]=a[i+1],a[i+1]=y,将最大值换给a[i],直到完成所有的排序结束循环。
第三步:输出a[i].
3、流程图:
1238904-20171203234759897-1639633397.png
4、PTA提交列表:
1238904-20171203213729335-1932968244.png
5、本题出现的问题与解决方法:
本题在编译的过程未出现问题。
7-6 冒泡法排序:
1、实验代码:

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

2.设计思路
第一步:定义整数型变量n,i,x,y,z和整数型数组a[n]。
第二步:输入数组a[n].
第三步:用两次for循环判断最大值,输出循环输出k次冒泡排序之后的数组。
3、流程图:
1238904-20171204004444101-366546347.png
4、PTA提交列表:
1238904-20171203212625976-850491080.png
5、本题出现的问题与解决方法:
错误截图:
出现的错误:
解决方法:
二、
上传GIt网址:http://www.cnblogs.com/sun-na-/p/7875394.html
三、上传coding截图:
1238904-20171204001321351-357898583.png
四、本周学习与个人总结:
本周学习了数组,如何使用,定义数组,二位数组的元素的存放方式。之后又学习了数组延伸到排序问题,冒泡排序,学习了矩阵相关的一些编译问题。本周的学习难度明显加大,除了对新学的知识有所收获以外,对编程有了更深的认识。希望我可以学习到更多的变成只时并掌握它们。
五、点评作业:
(1)胡俊鲜:http://www.cnblogs.com/123456hjx/
截图:1238904-20171204001923772-558262468.png
(2)关晟强:http://www.cnblogs.com/asdfg123/p/7967445.html
截图:1238904-20171204002246397-576360597.png
(3)陈雨秋:http://www.cnblogs.com/cyq66992152/p/7946077.html
截图:1238904-20171204002412522-2947272.png
六、学习进度条与折线图:
1238904-20171204005643429-1378153500.png
1238904-20171204005847726-1804333666.png

转载于:https://www.cnblogs.com/1999-cyc/p/7967280.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值