• C语言I作业11


    问题 回答
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 编程
    这个作业在那个具体方面帮助我实现目标 更好的学习c语言
    参考文献 简述

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

    1.16-2 统计各位数字之和是5的数 (20分)

    本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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;
    }
    
    /* 你的代码将被嵌在这里 */
    输入样例:
    104 999
    输出样例:
    104 is counted.
    count = 15, sum = 3720
    ###1.1.1数据处理
    

    数据表达:定义了整形变量a,b为输入的范围,自定义函数is并定义了整形变量c,d,sum,其中sum为number的每一位相加的和,i为返回值;
    自定义函数count_sum并定义了整形变量count,sum,i,其中count为记录满足要求的个数,sum为每一个满足条件的数的和,i用来控制循环。
    数据处理:

    数据处理:
    主函数:
    定义a,b为输入的范围
    
    输入范围
    if 自定义函数is返回来的值不为0  输出a is counted
    if 自定义函数is返回来的值不为0  输出b is counted
    自定义函数 count_sum(a, b);
    
    定义函数is:
    定义sum,c,d为number的每一位数累加的和且sum=0
    
    while(判断number是否等于0)
    {
        c=number%10
        sum+=c
        number/10
    }
    if判断 (sum是否=5)
    是
    返回1
    else
    返回0
    
    定义函数count_sum
    定义count用于记录满足条件整数的个数,sum1为满足条件的每一个数累加的和,i为控制循环
    
    for(i=a;i<=b;i++)
    {
        {
        if is(a)
        count++
        sum1+=i
        }
        输出count,sum
    }
    
        
    

    1.1.2实验代码截图


    1.1.3 造测试数据

    输入数据 输出数据 说明
    104 999 104 is counted. count = 15, sum = 3720 104的各位数字和为5,满足条件的整数个数为15,这些数的和为3720
    113 999 113 is counted. count = 14, sum = 3616 113的各位数字和为5,满足条件的整数个数为14,这些数的和为3616
    108 255 count = 8, sum = 1372 108各位数字和不为5,满足条件的整数个数为8,和为1372

    1.1.4 PTA提交列表及说明

    提交列表说明:
    编译错误:符号缺少,还有在自定义函数后加尔;
    答案正确:调试改正

    1.26-1 统计某类完全平方数 (20分)

    本题要求实现一个函数,判断任一给定整数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;
    }
    
    /* 你的代码将被嵌在这里 */
    输入样例:
    105 500
    输出样例:
    cnt = 6
    

    1.2.1 数据处理

    数据表达: 定义了整型变量n1, n2, i, cnt;n1,n2,是输入的参数也是一个范围,i用于循环,cnt用于计数,在IsTheNumber自定义函数中定义了常变量N,在IsTheNumber函数内定义了i,n,一个用于循环一个用于判断,
    数据处理

    数据处理:
    #include<stdio.h>
    #include<math.h>
    n1,n2为输入的取值范围,i用于循环,cnt用于计数
    
    接收n1,n2
    cnt=0
    for(i=n1;i<=n2;i++)
    {
        判断(if) 自定义函数返回来的值不为零 执行
        cnt++
    }
    输出cnt
    
    自定义函数:IsTheNumber 定义常变量N
    定义m用于数据处理,b用于判断N的位数,n就是输入的整数,定义一个10位的数组p用了收集n的值;
    n=N
    p[10]={0}
    m=sqrt(n)
    如果(if) (m*m=n )
    执行
    {
        while(n)
        {
            b=n%10
            n/=10
            p[b]++
        }
        进入for循环 令i=0,i<9,i自增
        {
        if p[i]>1
            返回1     
        }
    } 
        返回0	
    

    1.2.2 实验代码截图


    1.1.3 造测试数据

    输入数据 输出数据 说明
    101 555 cnt = 6 101-555内有6个完全平方数
    188 999 cnt = 6 188-999内有6个完全平方数
    288 666 cnt = 3 288-666有3个完全平方数

    1.2.4 PTA提交列表及说明

    提交列表说明:
    答案正确:数组在使用过程中出错,不熟练。

    2.代码互评(5分)

    同学代码截图

    自己代码截图


    • 两者代码思路差不多,判断和执行的先后顺序不同。

    3 学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学习到的知识点简介 目前比较疑惑的问题
    第六周 20小时 416行 基本学习C语言
    第七周 6小时 153行 进一步了解算法
    第八周 21小时 425行 学习了for循环结构,并了解了while循环结构
    第九章 17小时 679行 学习了自定义函数
    第十周 21小时 453行 学习了if-else,for,while的嵌套。
    第十一周 23小时 627行 学习了switch选择结构。
    第十二周 23小时 424行 学习了do while。
    第十三周 6小时 142行 学习了continue 最近有点烦躁没静下心来学习,整理学过的内容,有些思路乱
    第十四周 8小时 210行 选择合适的算法、合理的循环结构,熟练的编写程序

    3.2 累积代码行和博客字数

    时间 博客字数 代码行
    第四周 713 0
    第五周 713 0
    第六周 1540 416
    第七周 2419 569
    第八周 3595 994
    第九周 4676 1124
    第十周 6154 1585
    第十一周 7682 2212
    第十二周 9142 2658
    第十三章 10098 2800
    第十四周 10132 3010

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    第8次作业开始博客园写的有些敷衍检讨。

  • 相关阅读:
    otto-group-product-classification-challenge(Pytorch处理多分类问题)
    F1值
    win10 安装torch
    win10 安装 scrapy
    头条 街拍
    1029 Median
    欧拉回路
    Pre-Post
    Django 安装for Python3.4
    Python 安装for Windows
  • 原文地址:https://www.cnblogs.com/guolifei/p/11994281.html
Copyright © 2020-2023  润新知