第七周作业
7-5求1到100的和
1.实验代码
#include <stdio.h> int main() { int sum,i; sum = 0; for(i=1;i<=100;i++) sum = sum+i; printf("sum = %d",sum); return 0; }
2 设计思路
(1)主要描述题目算法
第一步:首先对sum,i进行整型定义,sum赋初值为0。
第二步:运用for循环语句,循环变量赋初值i=1,循环条件为i<=100,循环变量增值为i=i+1。
第三步:输出sum。
(2)流程图
3.本题调试过程碰到问题及解决办法
因为课堂上老师讲过相同的例题,所以并没有什么错误。
7-2 求奇数分之一序列前N项和
1.实验代码
#include <stdio.h> int main () { double m,sum; int i,N; sum = 0; scanf("%d",&N); for(i=1;i<=N;i++,i++) { m=1.000000/i; sum = sum + m; } printf("sum = %.6f",sum); return 0; }
2 设计思路
(1)主要描述题目算法
第一步:对m,sum进行浮点型定义,i,N进行整型定义,sum=0。
第二步:输入N,运用for循环语句,循环变量赋初值i=1,循环条件为i<=N,循环变量增值为i=i+2。
第三步:注意循环里面的m=1.000000/i,最后输出sum的值。
(2)流程图
3.本题调试过程碰到问题及解决办法
遇到的主要问题是最后sum的输出结果为0.000000,原因写成在于m=1/i,m也应精确到小数点后6位,所以应为m=1.000000/i。
7-2求交错序列前N项和
1.实验代码
#include <stdio.h> int main() { int i,N,k; double sum; scanf("%d",&N); sum = 0; k = 1; for(i = 1;i<=N;i++) { sum =sum + i/(2.00*i-1)*k; k = k*(-1); } printf("%.3f",sum); return 0; }
2 设计思路
(1)主要描述题目算法
第一步:对sum进行浮点型定义,i,N,k进行整型定义,sum=0,k=1。
第二步:输入N,运用for循环语句,循环变量赋初值i=1,循环条件为i<=N,循环变量增值为i=i+1。
第三步:注意循环里面的sum =sum + i/(2.00*i-1)*k, k = k*(-1)。
第四步:最后输出sum的值,输出m的值时要注意不为%f,应为%.3f。
(2)流程图
3.本题调试过程碰到问题及解决办法
主要是和上题一样的问题,sum应为sum + i/(2.00*i-1)*k,当时也是忽略将2.00写成2。
7-4 找出最小值
1.实验代码
#include <stdio.h>
int main()
{
int i,n,min,m;//i为输入的个数n为后面的值
scanf("%d",&i);
scanf(
min = i;
for(m = 1;m<=i-1;m++)
{
scanf("%d",&n);
if(min>n)
{
min = n;
}
else
{
min = min;
}
}
printf("min = %d",min);
}
2 设计思路
(1)主要描述题目算法
第一步:i,n,min,m进行整型定义。
第二步:输入i,min = i,根据不同的情况将赋给min值。
第三步:注意最后输出格式中printf(""min = %d",min)。
(2)流程图
3.本题调试过程碰到问题及解决办法
for语句并不是很熟悉,m = 1;m<=i-1不明白其具体如何在循环中实现,后经过书籍查询和网上查询,大致了解了其具体的过程。
7-5 统计学生平均成绩与及格人数
1.实验代码
#include <stdio.h> int main() { int n,i,score,count,sum;//n为同学数 double avg; scanf("%d",&n); sum = 0; count = 0; for(i = 1;i<=n;i++) { scanf("%d",&score); sum = sum+score; if(score>=60) count = count+1; } avg = (double)(sum/n)*1.0; printf("average = %.1f\n",avg); printf("count = %d\n",count); return 0; }
2 设计思路
(1)主要描述题目算法
第一步:n,i,score,count,sum进行整型定义,avg进行浮点型定义。
第二步:输入n,sum=0,count=0运用for循环语句,循环变量赋初值i=1,循环条件为i<=n,循环变量增值为i=i+1。
第三步:在for语句中满足条件则输入score,定义sum=sum+score,添加关于count的条件语句。
第四步:注意最后输出格式中avg=%.1f\n
(2)流程图
3.本题调试过程碰到问题及解决办法
做题时关于如何输出count并没有思路,后上网查询得到结果,相信在下一次遇到相似的问题时,自己可以会有一定的解决思路。
我的git地址:https://git.coding.net/exo07/disizhouzuoye.git
git提交列表:
我点评同学的作业:
王姝雯:http://www.cnblogs.com/phsudie/p/7837488.html
张心悦:http://www.cnblogs.com/zxy980612/p/7850548.html
董欣:http://www.cnblogs.com/dx2017/p/7809786.html
本周主要学习了for循环语句,while语句,do while语句,包括循环语句中使用break,countinue·
主要是对循环语句中用break,countine比较不熟练