第七周作业
要求二
(三)题目7-3求交错前N项和
1.实验代码
#include <stdio.h> int main() { int N,i; int flag=-1; double s=0; scanf("%d",&N); for (i=1;i<=N;i++) { flag=-flag; s=s+i/(2.0*i-1.0)*flag; } printf("%.3lf",s); return 0; }
2.设计思路
(1)主要题目算法
逆推法 求1-2/3+3/5-4/7+...;
.——找出通项公式s=s+i/(2*i-1)乘以(-1)的n次幂;
——(-1)的n次幂不太会就相应换成变量flag,让fiag=-flag循环与公式相乘——把公式放入循环语句中须在(i=1;i<=N;i++)的条件下;
————定义变量N,i,flag=1,浮点型变量s;
(2)流程图
3.本题调试过程中遇到的问题及解决方法。
错误截图
遇到的问题:不知道怎样才能输入‘+’ ‘—’连续的循环式子?(在之前我上网查找如何加入指数幂的形式结果还是不对)
解决方法:老师上课的ppt中有提到 在定义一个变量flag,让flag=-flag放在循环语句中就可以实现。
4.本题pta提交列表
(五)统计学生平均成绩及及格人数
1.实验代码
#include <stdio.h> int main() { int N,count,i,grade; double average=0; double s=0; scanf("%d\n",&N); for(i=1;i<=N;i++) { scanf("%d",&grade); s=s+grade; average=s/N; if (grade>=60){ count++;} } printf("average = %.1lf\n",average); printf("count = %d",count); }
2.设计思路
(1)主要题目算法
第一步:定义整型变量N,count,i,grade,浮点型变量average=0,s=;
第二步:(s=s+grade,average=s/N,)式子在i=1;i小于所输入的N;i++的条件循环;
第三步:在循环框中加入条件(grade>=60)的时候count=count+1;
第四步:确定输出条件以及小数点保留几位;
(2)流程图
3.本题调试过程中碰到的问题及解决办法
错误截图
遇到的问题:在devc++中编译正确,而在pta中是部分正确。
解决方法:经过自己的反复观察,发现其中要求grade>=60,而我输入grade<60。
4.pta提交列表
要求三(额外作业)
一. 题目7-1 1-100求和
1.实验代码
#include <stdio.h> int main() { int i=1; int sum=0; while (i<=100){ sum=sum+i; i=i+1; } printf("sum = %d",sum); return 0; }
2.设计思路
(1)题目算法
第一步:定义变量sum为总和,i为循环语句中的次数;
第二步:根据题意锁定公式s=s+i;
第三步:i++循环,输出总和sum。
(2)流程图
3 本题无错误
4.本题pta错误提交列表
二 题目 7-2求奇数分之一序列前N项和
1.实验代码
#include <stdio.h> int main() { int n; int N=1; double sum=0; scanf("%d",&n); while (N<=n){ sum=1.0/(2.0*N-1)+sum; N=N+1; } printf("sum = %.6f",sum); return 0; }
2.设计思路
(1)题目算法
第一步:定义变量n(可人为的输入值)sum(总和)N(循环变量);
第二步:在(n<=N)遵循 循环公式(sum=1/(2*N-1)+sum);
第三步:输出sum并且保留小数点六位。
(2)流程图
3.本题无提交错误
4本题pta提交列表
三.题目7-4找出最小值
1.实验代码
#include<stdio.h> int main(void) { int n,i,l,min; scanf("%d",&n); scanf("%d",&l); min=l; for(i=1;i<n;i++){ scanf("%d",&l); if(min>l) min=l; } printf("min = %d",min); return 0; }
2.设计思路
(1)解题思路
第一步:定义变量n,i,l,min;
第二步:在i=1,i<n,i++;的条件下(如果min>l则min=l;
第三步:输出min。
(2)流程图
4.pta提交列表
要求四
git地址:https://git.coding.net/hezongyan321/text.git
coding截图
要求五
个人总结
(1)本周学习内容和收获:
1.while 循环;
2.do while循环;
3.for循环;
4.循环的嵌套;
(2)本周所学内容中那些是难点:
do while的循环至少要执行一次;
while循环如果一次不满足条件就不执行;
要求六
我评价的作业
王佳乐
徐敬骑
胡俊鲜
折线图
表格