C语言I博客作业11

一、本周教学内容&目标
第5章 函数 要求学生掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。
二、本周作业头

问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业11
我在这个课程的目标是 掌握类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型
这个作业在那个具体方面帮助我实现目标 练习markdown语法以及自主寻找资料的能力
参考文献 百度

三、本周作业

1. PTA作业

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

1.1.1 数据处理

  • 数据表达:提出数组a来存储每个数字的个数,flag作为标志,temp记录根号下的输入值;
  • 数据处理:
while(number!=0)
当number不等于零的时候开始进行循环
x=number%10;
y=y+x;
number=number/10;
用于计算各位数字之和是否等于5
if(y==5)
如果各位数字之和等于5,则进行 return 1;否则则返回return 0;

1.1.2 实验代码截图
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:

int IsTheNumber ( const int N );

其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。

裁判测试程序样例:

#include 
#include 

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\n", cnt);

    return 0;
}

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

输入样例:

105 500

输出样例:

cnt = 6

C语言I博客作业11_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 输入题给数据验证
86 241 随机数据验证
536 684 随机数据验证

1.1.4 PTA提交列表及说明

C语言I博客作业11_第2张图片

1.答案正确:只需针对是否存在多个各个位置的数字,只要超过两个就可以返回1了,否则返回0;

6-2 统计各位数字之和是5的数 .

1.2.1数据处理

  • 数据表达:定义整型变量int(number是形参、s=0赋初始值为0用于求和、remainder存放余数)
  • 数据处理:
for(;x<=b;x++){//x从a到b一次循环
        if(is(x)){
            count++;
            sum+=x;//满足条件则计数、求和
printf("count = %d, sum = %d",count,sum);//打印输出

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

裁判测试程序样例:

include 

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.\n", a);
    if (is(b)) printf("%d is counted.\n", b);
    count_sum(a, b);

    return 0;
}

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

输入样例:

104 999

输出样例:

104 is counted.
count = 15, sum = 3720

C语言I博客作业11_第3张图片C语言I博客作业11_第4张图片

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 输入题给条件验证
666 1001 超过最大数据要求
348 999 随机数据验证

1.2.4 PTA提交列表及说明

C语言I博客作业11_第5张图片

1.答案正确:我们只需要确定这个数字是不是个2的n次方-1而且是不是个素数,通过直接确定自定义函数来解决;中间的答案错误是一位我去测试浮点型的误差值,但是测试带你没有那麽精确的有哪个测试点;

2. 代码互评

同学代码 自己代码 同学代码
C语言I博客作业11_第6张图片 C语言I博客作业11_第7张图片
  • 这道题的我所找到的同学的代码几乎都如此相似,应该都参考了网上的解题代码,先找可不可以开根号为整数,再循环找相同的数字出现了几次,两次及以上就说明这个数字是完全平方数

    3. 学习总结

    3.1 学习进度条.

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第七周 9小时 513 定义函数 return的返回位置
第八周 12小时 467 局部变量与全局变量 暂无
第九周 12小时 483 数组 暂无
第十周 14小时 723 指针 暂无
第十一周 15小时 832 结构 暂无
第十二周 17小时 728 指针(内容更多) 暂无
第十三周 15小时 732 结构 暂无
第十四周 13小时 537 python 暂无
第十五周 7小时 684 暂无

3.2 累积代码行和博客字数 .

C语言I博客作业11_第8张图片

3.3思维导图

3.3.1 学习内容总结与体会
本周由于一些其他学科的作业以及考试而未进行其他学习,等待这两周过后菜可能去进行进一步的学习;

你可能感兴趣的:(C语言I博客作业11)