第七周作业
一
7-3前n项和
1插入代码
#include<stdio.h>
int main(){
int i,N;
int flag=-1;
double sum=0;
scanf("%d",&N);
for(i=1;i<=N;i++){
flag=-flag;
sum=sum+i*1.0/(2*i-1)*flag;
}
printf("%0.3f",sum);
return 0;
}
2设计思路
a:观察题目,可知该题目为加减交错,分子是d=1的等差数列,分母是d=2的等差数列
b:定义相关变量,该题中我用的是for循环,并找到对应公式即:sum=sum+i*1.0/(2*i-1)*flag
c:注意输入输出格式进行编程
3流程图
4问题及解决办法
运行该题时,我在sum运算式中并未1.0,后来询问同学得知整形变量不能与浮点型变量一起运算,应1.0转换成浮点数一同运算
7-5学生及格人数及平均成绩
1插入代码
#include <stdio.h>
int main(){
int i,n;
double total=0,grade;
int count=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf",&grade);
if (grade>=60) count=count+1;
total=total+grade;
}
if(n==0)
printf("average = 0.0\n");
else
printf("average = %.1f\n",total/n);
printf("count = %d",count);
return 0;
}
2设计思路
a:定义变量i,n,grade,并初始化count
b:使用for循环及条件语句将输入分数分出两种等级,并求出平均值与及格人数
C:根据输入输出格式进行编程
3流程图
4问题及解决办法
由于疏忽,我将第二个输出写错了%d,此处应该用%.1f
二
7-1提交列表
该题答案错误,原因是我将输出的sum误写错了i
三
git上传截图
git地址 https://git.coding.net/simalang/pta7.git
四
学习了有关断点,while,for循环,break语句,及其流程图的相关画法
对我来说,各种知识都了解,但是却不精通,有的时候编程还会卡住,对此我会多加练习,完善自己
五
点评:1http://www.cnblogs.com/SR1011/p/7853220.html
2http://www.cnblogs.com/lin2580/p/7841437.html
3http://www.cnblogs.com/zxwd/p/7811419.html