赴加计算机17-2 景远博 第二次作业

一、例程调试(20分)

    调试下面1个例程,各位同学调试用自己的学号模4加1序号的题,写清错误提示(截小图)及修改内容(10分); 说明:有可能没有错误提示,但未达到预计功能。,题目来源为“ C语言程序设计实验与习题指导(第3版)调试源程序”中error04_1~4;利用Autoflowchart软件查看程序的流程图,将流程图导成word格式,加入必要的文字说明,并说明该程序的功能(10分)

#include<stdio.h>
int main(void)
{
    int flag,n;
    double eps,item,s;
    printf("Input eps: ");
    scanf("%lf",&eps);
    flag = 1;
    s = 0;
    n = 1;
    do{
        item = 1/ n;
        s = s + flag * item;
        flag = -flag;
        n = n + 3;
    }while( item < eps);
    printf( "s = %f\n",s);
    return 0;

}

达不到预期功能,目的是求给定精度的简单交错序列部分和,将while(item<eps)改为while(item>eps).

四、 循环知识点整理与自测(直接写能或不能)(每一项均写一个例程,并附运行结果截图) (30分)

4.1能够完成已知条件但未知次数的循环程序设计; 1+1/2+1/3+…,直到某项小于0.0001。

#include <stdio.h>
int main(void)
{
    int i;
    double sum=0;
    for (i = 1; 1.0/i > 0.0001; i++) {
        sum = sum + 1.0/i;
    }
    printf("sum = %f\n", sum);
    return 0;
}

4.2 能够完成已知次数的循环程序编写 如1+2+…+150;

#include <stdio.h>
int main (void)
{
    int num,sum,i,flag;
    flag=1;
    i=0;
    sum=0;
    scanf("%d",&num);
    for (i = 0; i < num; i++)
    {
        sum+=flag;
        flag+=1;
    }
    printf("%d",sum);
    return 0;
}

4.3能够完成读入若干数据,对数据做数理与简单统计;如求极值,简单的选票统计等

#include<stdio.h> 
int main(void) 

    int a[1000],b[1000]={0},n,i,j,max,f=1,flag=1; 
    scanf("%d",&n); 
    for(i=0;i<n;i++){ 
        scanf("%d",&a[i]); 
    } 
    for(i=0;i<n;i++){ 
        for(j=0;j<i;j++){ 
            if(a[j]==a[i]){b[j]++;break;f=0;} 
        } 
        if(f) b[i]++; 
    } 
    max=b[0]; 
    for(i=0;i<n;i++){ 
        if(max<b[i]){max=b[i];j=i;flag=0;} 
    } 
    if(flag) j=0; 
    printf("%d %d\n",a[j],max); 
    return 0;

 

 

 

五、持续改进学习方法、措施落实情况(10分)

 

5.1结合第1次博客作业,针对自己所提出的各种学习中遇到的困难解决方法,总结一下,自己是否落实之前的计划。没有落实的原因是什么;

 没有,原因是自己的懒惰和拖延,不能及时的完成指定的计划。

5.2记录近两周的每天编码时间,(实事求事)

每天几乎只有做PTA的时候才打一会,没有连续的进行,只是偶尔打十多分钟,没有太具体。

5.3下一步的学习改进措施与计划(时间为两周) 要求写明具体可行的措施及可验证的检测方法。

把PTA的作业重做一遍

把老师留的往期习题重做一下

 

posted @ 2018-05-25 13:14  影子o  阅读(149)  评论(0编辑  收藏  举报