第14.15周作业
#第一题:14-1-1 <数组中偶数的和>
*代码:
#include <stdio.h> int main () { int i,sum=0; int a[10]; for (i=0;i<10;i++){ scanf ("%d",&a[i]); if (a[i]%2==0){ sum=sum+a[i];} } printf("s=%d",sum); return 0; }
*设计思路:
第一步:打好基本框架,定义整数行循环变量i和偶数和sum,以及一个包含10个元素的数组a[10];
第二步:因为要一个一个元素进行判断是否为偶数,所以要用到for循环。
第三步:在for循环中,因为有10个元素,所以我要判断9次便使得i<10;输入a[i];接下里判断a[i]是否是偶数,若是偶数便让sum+1;最后输出sum。
*流程图:
*错误截图:
*问题:
当我输入pta所要输入例子时,打入10后按下空格键后发现无法显示所要答案,而且一直按空格键,那天输入横杆会一直往下,而且我编译器上没有显示有错误提示。
*解决方法:
我回过头来看了下我打的代码,发现for循环中,i<=10了,这样就会循环10次,但题目中只需要循环9次便可以完成,我把等号去掉,或者把10改成9,这样在编译器中输入那十个数后便油量正确的答案。
*本题上传git截图:
#第二题: 15-1-2 <方阵左下三角元素的和>
*代码:
#include <stdio.h> int main () { int i,j,sum=0; int a[4][4]; for (i=0;i<4;i++) { for (j=0;j<4;j++) { scanf ("%d ",&a[i][j]); if (j<=i) { sum=sum+a[i][j]; } } } printf ("%d",sum); return 0; }
*设计思路:
第一步:先打好基本框架,定义循环变量i和循环中需要用到的j,以及初始化sum。
第二步:定义好二维数组a[4][4]后,需要加上左下角的数字,便用到了for循环,我用i来控制行,j来控制列。
第三步;输入a[i][j]后,用j<=i来实现找出矩阵的左下角,再加上他们,输出sum。
*流程图:
*错误截图:
*错误:
提交列表中出现了段错误,而且输出sum不是要求答案。
*解决方法:
既然sum答案不是正确的所要答案,我再for循环中检查,发现再括号中没有问题,再循环体中第一次检查也没有感觉没有什么问题,再检查一遍,突然觉得sum输出值不对,那么应该在if判断中出现了问题,j<i,emmmmm,不对啊,这样就是没有对角线了啊,加上等于号就有了正确的输出值sum。
*本题上传git截图:
#所要上传git截图:
*git地址:
https://git.coding.net/lxtyichan/lxthaerbin.git
*表格:
*折线图:
#个人总结:
*学习的内容:
学习嵌套循环,学习一维二维数组,和一些例题。
*收获什么:
知道了这么用C语言简单得解决一些大量数字综合运用的题目,一个for循环(嵌套循环)可以解决这么多比较难的问题。另外数组的学习,为以后的数据库的学习打下好基础,学好数组很重要(我感觉)。
*难点:冒泡循环我还是有点懵,另外就是那个双层循环(甚至多层)我还是有点掌握不熟练,知识点不明白的话就是那个冒泡循环了,其他看看老师的pta大概就能明白。
#评点:
关晟强:www.cnblogs.com/asdfg123/p/7967445.html
陈雨秋: http://www.cnblogs.com/cyq66992152/p/7946077.html
刘泽华: www.cnblogs.com/liuzehua123/p/7905557.html