第14,15周作业

题目7-1.数组中偶数的和

  1. 实验代码

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

(1)描述:第一步:此题要求10个整数,定义含10个数的数组,i,数取余后结果为o。
第二步:令结果s初始化,运用for语句计算s。
第三步:中间插入输入整数变量,根据公式计算取余结果o,根据o判断是否执行计算结果公式。
第四步:按照输出要求输出结果。
(2)流程图:

3. ####本题调试过程碰到问题及解决办法:
问题:执行if语句时进行多余的“偶数输出”
解决办法:
根据错误提示,重新审题,把多余代码删除
错误截图:

题目7-2.输出小于均值的数

  1. 实验代码

#include <stdio.h>
int main(){
	int x[10],i,average,sum=0;
	for(i=0;i<=9;i++){
		scanf("%d",&x[i]);
		sum=sum+x[i];
	}
	average=sum/10;
	for(i=0;i<=9;i++){if(x[i]<average){
	printf("%d ",x[i]);
	}
	}
	return 0;
}
  1. 设计思路

(1)描述:第一步:根据题意定义10个整数的数组,平均值average,使和sum初始化。
第二步:运用for语句循环计算执行循环条件内的整数求和根据求平均值公式计算平均值。
第三步:再次用for语句,在for语句中使用if语句判定小于平均值的数。
第四步:按照输出要求输出结果。
(2)流程图:

  1. 本题调试过程碰到问题及解决办法

        问题:在判断数值是否小于平均数时没有应用for语句实行循环判断
        解决方法:因为运行结果不正确,重新审题,通过查找书籍复习,使用嵌套循环判定,编写出正确程序。
    

错误截图:

错误代码:
错误运行结果:

题目7-4.fibonacci数列

  1. 实验代码

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

(1)描述:第一步:题目要求计算fibonacci数列前12个数定义循环次数,f数组及数组以1,1开始。
第二步:因为数组中前2个数无规律,先按输出格式输出第一,二个数。
第三步:运用for语句,以i=2开始循环,根据规律:f[i]=f[i-1]+f[i-2]依次计算出数组中余下的数 输出计算结果。
第四步:用if语句根据取余结果判定实现换行,输出。

(2)流程图:

  1. 本题调试过程碰到问题及解决办法:

问题:PTA中提交时程序格式错误
解决办法:询问班级内能力较强的同学帮忙核对,找出错误后进行修改。
错误截图:

15周作业:题目7-1.求矩阵各行元素之和

  1. 实验代码

#include<stdio.h>
int main(){
  int i,n,m,k;
  scanf("%d %d",&m,&n);
  int a[m][n];
  for(i=0;i<m;i++){
    for(k=0;k<n;k++){
      scanf("%d",&a[i][k]);
    }
  }
  for(i=0;i<m;i++){
    int sum=0;
    for(k=0;k<n;k++){
      sum=sum+a[i][k];
    }
     printf("%d\n",sum);
  }
  return 0;
}
  1. 设计思路

(1)描述:第一步:根据题意定义m,n,i,k 题目要求第一行给出正整数m,n 输入m,n定义m行n列的数组。
第二步:运用for语句循环和镶嵌根据条件计算每行元素之和。
第三步:按照输出要求输出结果。
(2)流程图:

  1. 本题调试过程碰到问题及解决办法:

无问题
耗时较多原因:刚接触题时没有思路,在编译软件上做,犯个低级错误,忘记定义k,a[i][k]的数组,陷入尴尬的情况,休息下重新整理思路后成功做出本题,在PTA提交时1次通过。
Git地址:https://git.coding.net/Wrp1/Persistence0.git

coding.net项目的截图:

本周学习内容总结:
(1)根据PTA作业复习了嵌套循环。
(2)学习了数组及相关知识(一维数组,二维数组的初始化与编程)。
(3) 学习了调换数组中行列数字的交换方法,调换数组中数字数组。
遇到的问题:(1)数组名与下标定义及使用在刚接触时有些不懂,随着1周的学习与练习已经学会。
(2)在遇到题目时思路匮乏,做题耗费时间长,会多加练习。

点评同学链接:赵升旗:http://www.cnblogs.com/boke2017boke/

林梦:http://www.cnblogs.com/lin2580/

何宗彦:http://www.cnblogs.com/hezongyan/

学习进度(12.01 12:00~12.03 12:00):

日期 代码行数 博客字数 知识点
12.01 120 0 一维数组的使用
12.02 120 0 二维数组的使用
12.03 120 200 复习数组
posted @ 2017-12-03 21:17  Wrp  阅读(188)  评论(3编辑  收藏  举报