• c语言1博客作业11


    一、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125
    我在这个课程的目标是 <学习c语言知识,学会做编程题,学会做小程序>
    这个作业在那个具体方面帮助我实现目标 <学会使用while语句>
    参考文献 <c语言程序设计教科书和实验书,浏览器,上课笔记,PTA>

    二、本周作业

    1.PTA实验作业(20分/题)

    1.1 题目1
    本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
    
    函数接口定义:
    int IsTheNumber ( const int N );
    其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
    
    裁判测试程序样例:
    #include <stdio.h>
    #include <math.h>
    
    int IsTheNumber ( const int N );
    
    int main()
    {
        int n1, n2, i, cnt;
    	
        scanf("%d %d", &n1, &n2);
        cnt = 0;
        for ( i=n1; i<=n2; i++ ) {
            if ( IsTheNumber(i) )
                cnt++;
        }
        printf("cnt = %d
    ", cnt);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    1.1.1数据处理

    数据表达:在题目中,我定义了5个变量,分别是i,a[100],b,count=0,j;
    数据处理:使用了if语句,for语句,while语句循环,
    
    伪代码;
    int IsTheNumber(const int N)
    {
    	int i, a[100],b, count = 0,j;//定义变量
    	i = N;//给i赋值
    	b = sqrt(i);//给b赋值
    	if (b*b==i)//使用if语句
    	{
    		while (i > 0)//使用while语句循环
    		{
    			a[count] = i % 10;//取余
    			i = i / 10;//除以10
    			for (j = 0; j < count; j++)//for语句循环
    			{
    				if (a[count] == a[j])//嵌套
    				return 1;
    			}
    			count++;//累加
    		}
    	}
    	return 0;//返回
    }
    
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    141 151 cnt=0 141到151之间有0个满足题意的完全平方数
    313 515 cnt=3
    144 600 cnt=5
    105 500 cnt=6

    1.1.4 PTA提交列表及说明

    提交列表说明:
    答案错误,将j<count写成了j>count
    
    1.2 题目2
    本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
    
    函数接口定义:
    int is( int number );
    void count_sum( int a, int b );
    函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
    
    函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
    
    count = 满足条件的整数个数, sum = 这些整数的和
    进行输出。题目保证0<a≤b≤10000。
    

    裁判测试程序样例:

    include <stdio.h>

    int is( int number );
    void count_sum( int a, int b );

    int main()
    {
    int a, b;

    scanf("%d %d", &a, &b);
    if (is(a)) printf("%d is counted.
    ", a);
    if (is(b)) printf("%d is counted.
    ", b);
    count_sum(a, b);
    
    return 0;
    

    }

    /* 你的代码将被嵌在这里 */
    
    

    1.2.1 数据处理

    数据表达:定义了a,b,num1,sum,count,sum2,i
    数据处理:函数int is(int number)使用了do-while循环结构和if语句;函数void count_sum( int a, int b )使用了for循环语句和if语句的嵌套结构。
    
    伪代码:
    #include <stdio.h>
    
    int is( int number );
    void count_sum( int a, int b );
    
    int main()
    {
        int a, b;//定义a,b两个整型变量,
    
        scanf("%d %d", &a, &b);输出a,b
        if (is(a)) printf("%d is counted.
    ", a);//若满足is函数则相应的输出数据
        if (is(b)) printf("%d is counted.
    ", b);//若满足is函数则相应的输出数据
        count_sum(a, b);
    
        return 0;
    }
    int is( int number )//自定义int is( int number )函数;
    {
        int num1,sum;定义num1和sum分别代表输入的数的每一位数字和每一位数字的和
        sum=0;
        do{    //do-while语句
         num1=number%10;
         sum=sum+num1;
         number=number/10;
        }while(number!=0); 
        if(sum==5)    //if语句
        return 1;
        else
        return 0;
    }
    void count_sum( int a, int b )//函数void count_sum( int a, int b )
    {
        int count,sum2,i;
        count=0;
        sum2=0;
        for(i=a;i<=b;i++){//使用了for循环语句
    		if(is(i)){//if语句的嵌套结构
    			count++;
    			sum2=sum2+i;
            }
        }
    printf("count = %d, sum = %d",count,sum2);//输出
       
    }
    
    

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入数据|输出数据


    1.2.4 PTA提交列表及说明


    提交列表说明:
    编译错误,while(number!=0)忘记加分号了
    

    2.代码互评(5分)

    同学代码截图

    (1)

    (2)

    自己代码截图

    与(1)比较:
    1:同学的代码比较长,比较复杂,我的比较简洁,
    2:运用的语句个数不同,设的变量个数不同
    
    与(2)比较:
    1.同学在循环语句中使用了break
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第四周9.16-9.23 6小时 28 初步了解敲代码,做博客 怎样进去做这些作业
    第六周9.23-10.6 32小时 19 熟悉部分编程的格式,使用markdown语法 和做表格 不太会做表格
    第七周10.7-10.11 40小时 105 学会使用if-else语句做分支结构题 做折线图开始的时候有点不太会
    第八周10/14-10/19 48小时 82 学习了for语句,运用于敲代码时,进行循环过程。 有时候忘记赋值,循环体处掌握的方法还不够,容易运行错误。
    第九周10/20-10/26 50小时 108 学习了c语言函数知识,理解定义和使用方法 不太懂,经常出错,函数式子很难想到
    第十周10/28-11/02 38小时 180 学习了字符型,库函数,还有逻辑运算符知识 对这些我还挺感兴趣的
    第十一周11./3-11/8 30小时 156 学习了switch语句 刚开始不太了解,慢慢了解了
    第十二周11/9-11/15 35小时 112 学习了while语句,一种已知一个条件限制,求解满足条件的任意值 开始的时候,与for循环语句有点分不清楚,现在明白了
    第十三11/16-11/22 41小时 126 学习了continue语句和复习了break等知识 暂无
    第十四周11/23-11/29 38小时 181 复习了所学习的知识 有,还要多多练习,仔细思考

    3.2 累积代码行和博客字数(5分)


    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会。
    1.复习知识首先要理清楚思路,做笔记也要分点清楚,会更有效
    有自己的时间表,合理安排,学习为主,其他为辅,为学习腾出时间。
    2;我们在做PTA作业时候,每个小小点地方都需要注意,比如一个分号 空格,可以自己在草稿纸上打好草稿,和表出注意的地方,再敲上去,要多检查几遍。
    3;随着知识的增加,我们了解的越来越多,更要注重吸收消化,越来越接近考试了,即使我再忙,也不能不学习了,特别是自己的专业知识,多去练习,理解题目,看看视频之类的,敢于动手写代码,因为我们的考试可能是笔试,...
    4:有空就学习,尽量有空
    5;实验课,做作业,是很好的锻炼我打字速度和反应能力的时候,时间方面比较紧,我需合理安排
    7.要考试了,加油
    
  • 相关阅读:
    产品经理之职责篇
    Scrum实践
    通用泛型存储接口的设计
    Jquery ajax执行顺序 返回自定义错误信息
    Js参数值中含有单引号或双引号解决办法
    Winform下的HTMLEditor引用Microsoft.mshtml的注意事项
    引用类型传参不加 ref 的注意事项
    List<T> 排序(Sort)查找(Find)功能的多种实现
    多线程三种传值方式
    SQL 存储过程传入多个ID
  • 原文地址:https://www.cnblogs.com/99peng/p/11993728.html
Copyright © 2020-2023  润新知