7-3 求交错序列前N项和

实验代码:

#include<stdio.h>
int main()
{
int i,N,h=1;
float sum=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
    
    sum=sum+h*i/(2.00*i-1);
    h=h*(-1);
}
    printf("%.3f",sum);
 } 

设计思路:

 第一步:定义各变量,根据题意区分整型与浮点数。

第二步:使用for语句完成循环,定义i初值为1,循环条件为i<=N,循环增量为i=i+1。

第三步:根据规律列出表达式,并得到输出值。

流程图:

 

调试过程中遇到的问题与解决方法:

在完成本题时我借鉴了其他同学的方法,但我并没有理解,之后在对for语句的重新理解中我重新在c++中根据自己的理解重新做了这道题。我所遇到的问题是运行结果小数位一直为零。

错误在于在sum=sum+h*i/(2.00*i-1);这一式子中没有考虑整型与浮点数,没有将2改为2.00.

提交列表:

7-5 统计学生平均成绩与及格人数:

实验代码:

#include <stdio.h>
int main()
{
int a,b,c,d,sum;
float average;
c = 1;
d = 0;
sum = 0;
scanf("%d",&a);
if(a != 0)
{
while(c <= a)
{
scanf("%d",&b);
if(b >= 60)
{
d = d +1;
}
else if(b < 60)
{
d = d + 0;
}
sum = sum + b;
c = c + 1;
}
average = (sum + 0.02f)/a;
    }
    else if(a == 0)
    {
        average = 0;
        d = 0;
}
printf("average = %.1f\ncount = %d",average,d);
}   

设计思路:

第一步:根据题意定义输入。

第二步:首先讨论学生人数是否为零,不是零时讨论他们是否及格。

第三步:计算平均值并输出,当分数大于等于60时,及格人数加1,输出。

流程图:

 

调试过程中遇到的问题与解决方法:

讨论时思路混乱不断错误改正,理解不够。

提交列表:

我的git地址是:

https://git.coding.net/zhouxuan12/123.git

点评:

http://www.cnblogs.com/exo123/p/7828105.html

http://www.cnblogs.com/fengzx/p/7811151.html

http://www.cnblogs.com/lixiaojing/

本周总结:

本周主要学习了braek,continue的使用,同时在不断地练习for语句的使用。我的问题在于并不觉得break和continue有区别,还有在编程中数字的小数位数依旧不知道如何清楚表示。

 posted on 2017-11-18 22:17  周璇A  阅读(254)  评论(2编辑  收藏  举报