C语言I博客作业11

China☆狼群 提交于 2019-12-06 20:42:24
问题 答案
这个作业属于哪个课程 C语言程序设计Ⅱ
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131
我在这个课程的目标是 掌握C语言,并熟练操作。
这个作业在那个具体方面帮助我实现目标 完成pta作业,进一步了解各种函数的定义
参考文献 百度百科,伪代码,CSDN

1.PTA实验作业

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

    return 0;
}

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

输入样例:

105 500

输出样例:

cnt = 6

1.1.1数据处理

数据表达

定义n,m,i三个变量与一个含有10个数的数组a,运用if,while语句进行表达。

数据处理

Begin
int n←(int)sqrt(N*1.0),m←n*n;
if{
int a[10]←{0}
while{
int i←m%10;
a[i]++;
if(a[i]==2)
return 1;
m←m/10;
}
}
return 0;

1.1.2实验代码贴图

1.1.3 造测试数据

输入数据 输出数据 说明
200 700 cnt=5 随机数据
100 900 cnt=9 随机数据
500 999 cnt=2 随机数据

1.1.4 PTA提交列表及说明


答案错误:定义n时表达式中未用1.0
答案错误:while循环结构中一个表达式写错了

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

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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<ab≤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.\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

1.2.1 数据处理

数据表达

定义

数据处理

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
200 2000 count = 25 sum = 20330 随机数据
300 5000 随机数据
300 6000 count = 41 sum = 76129 随机数据

1.2.4 PTA提交列表及说明


编译错误:不等于符号写成了一个‘!’
编译错误:输出结果的格式错误

2.代码互评

2.1题目6-1

2.1.1自己代码

2.1.2同学代码

不同之处:

3.学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第五周 3h 30 简单的代码编写,Markdown语法的学习
第六周 4h 40 温度的转换
第七周 7h 83 if-else语句,计算简单函数 做题的时候对题目理解的不够彻底
第八周 15h 79 for循环型语句,编译简单循环型题目
第九周 9h 110 函数的调用和定义一个新函数 定义新函数还是有点不太熟练
第十周 20h 130 分支结构运用,逻辑运算符和字符型数据
第十一周 24h 130 switch语句的使用 写作业时还是遇到了一点麻烦
第十二周 27h 150 while语句和do-while语句的运用 到底什么时候该用那种语句
第十三周 30h 160 continue语句,以及循环的嵌套 对于嵌套问题还是有些不会
第十四周 24h 150 认知了穷举法,简单循环结构使用 复杂的循环问题弄不来
第十五周 24h 160 加深对函数的定义方法 自己定义新函数时不太熟练

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

前期我们接触过函数的调用,这次我们学习了函数的定义,更加的完善,但是也越来越复杂。随着期末临近,也开始有点急躁,担心这担心那。
还是得放平心态,这样学习效率也会大幅度提升。也不至于浑浑噩噩,没学什么东西。端正心态,继续加油!
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!