C语言Ⅰ博客作业11
| 这个作业属于那个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130 |
| 我在这个课程的目标是 | 熟练掌握C语言基础 |
| 这个作业在哪个具体方面帮助我实现目标 | 掌握C语言知识,有效的完成PTA作业 |
| 参考文献 | C语言程序设计,https://www.cnblogs.com/imhaiyang/articles/4809724.html |
1.PTA实验作业

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\n", cnt);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1数据处理
数据表达:用了n,i,b,a[],m两个变量,i的值是通过不断循环加1得到,n的值是N的值,m的平方数是N,a[]是一个数组,都是整型变量。
数据处理:
伪代码:
int b,a[10]←{0},m←sqrt(N),i,n←N; /*定义五个变量i,n,b,a[10],m*/
IF m*m=n THEN /*判断n是否是完全平方数*/
do while n /*在循环里判断平方数是否至少有两位数字相同*/
do b←n%10
a[b]←a[b]+1
n←n/10
for i←0 to 9
do IF a[i]>1 THEN /*通过数组判断相同数的个数*/
do return 1
return 0
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 105 500 | cnt = 6 | 与题目输出样例一样,正确 |
| 40 600 | cnt = 7 | 随机取数,检验代码是否正确 |
| 209 579 | cnt = 4 | 随机取数,检验代码是否正确 |
1.1.4 PTA提交列表及说明

1.答案错误:把b=n%10中的n打成了N,改正过来后正确了
2.答案正确。
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.\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 数据处理
数据表达:用了number,count,sum,a,b五个变量;a,b的值是通过输入得到;number的值代表a,b的值;count的值是通过for循环得到;sum是通过循环和式子sum+=a得到的;都是整型变量
伪代码:
int number;
IF number%10+(number/10)%10+(number/100)%10+(number/1000)%10=5 THEN /*判断给定正整数的各位数字之和是否等于5*/
do return 1
else
return 0
int a,b,count←0,sum←0;
for a←a to b /*统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和*/
do IF is(a)=1 THEN
do count←count+1
sum←sum+a
printf("count ← %d, sum ← %d",count,sum);
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 104 999 | ![]() |
与题目输出样例一样,正确 |
| 672 8092 | ![]() |
取1-10000之间的数,输入的数各位数之和不等于5 |
| 500 398 | ![]() |
a>b,不符合题意 |
1.2.4 PTA提交列表及说明

1.答案正确。通过number%10+(number/10)%10+(number/100)%10+(number/1000)%10把正整数分成个位数相加判断是否之和等于5,用for循环得出count,sum。
2.代码互评
| 同学代码截图1 | 自己代码截图 |
|---|---|
![]() |
![]() |
同学1在判断给定正整数的各位数字之和是否等于5时用了while循环和if语句判断,while循环中通过k=n%10,n/=10,h=k+h把n中的数分成个位数,然后相加在if语句里面判断。我只用了一个if语句判断,条件是number%10+(number/10)%10+(number/100)%10+(number/1000)%10==5,满足了就可以进行下一步了。
| 同学代码截图2 | 自己代码截图 |
|---|---|
![]() ![]() |
![]() |
同学2的代码没有用数组,先用if-else语句判断N的正负,然后在else语句里面嵌套了if语句,用来判断N是否是完全平方数,又用了for循环,while循环判断N是否至少有两位数字相同。同学2的代码比较长,不过没有用数组,易懂些。
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第15周/12.7 | 一天 | 131 | 自定义函数,局部变量,全局变量,变量生存周期,静态局部变量 | 数组使用起来不知道什么意思 |
| 第14周/11.29 | 两天 | 130 | 读代码 | continue语句怎么使用 |
| 第13周/11.22 | 两天 | 99 | 循环嵌套,break语句,continue语句 | 伪代码的正确示范?打代码时什么时候要空格,什么时候不要 |
| 第12周/11.14 | 两天 | 107 | whlie语句,do-whlie语句的使用方法,伪代码 | 不太清楚字符型的使用方法 |
| 第11周/11.9 | 一天 | 137 | switch语句 | scanf语句在int后面和在for或其他语句后面有什么区别吗 |
| 第10周/11.4 | 一天 | 112 | if语句的嵌套,字符型,逻辑运算符 | 怎么活用已学知识点做PTA |
| 第9周/10.25 | 一天半 | 88 | 函数的定义,调用 | “/=”是什么意思 |
| 第8周/10.18 | 两天左右 | 84 | 循环结构,for语句 | 在Dev-C++里面正确的代码到PTA上是答案错误怎么解决 |
| 第7周/10.8-10.12 | 两天左右 | 49 | scanf()函数,if-else语句,常用的数学函数,关系运算符... | PTA作业怎么能好好的做完! |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结




3.3.2 学习体会
这次写函数题的时候我都在想我之前是怎么做的,感觉有点模糊,但后面做了后又觉得我会做。不能那么早就被吓到了。读清题意,捋清思绪。虽然我有的是问同学的,哈哈。不过编程题我没怎么挑战,等有时候在做了。在写PTA前看了有关数组的知识,以为差不多懂了,可是用的时候,就懵逼了。还是要多实践的好!
C语言Ⅰ博客作业11的更多相关文章
- C语言|博客作业11
问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 我在 ...
- C语言博客作业11
一.本周教学内容&目标 第5章 函数 要求学生掌握各种类型函数的定义.调用和申明,熟悉变量的作用域.生存周期和存储类型. 二.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言|博客作业08
这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9976 我在这个课程的 ...
随机推荐
- 题解 BZOJ1026 & luogu P2657 [SCOI2009]windy数 数位DP
BZOJ & luogu 看到某大佬AC,本蒟蒻也决定学习一下玄学的数位$dp$ (以上是今年3月写的话(叫我鸽神$qwq$)) 思路:数位$DP$ 提交:2次 题解:(见代码) #inclu ...
- 洛谷【P2257】 YY的GCD
出处:http://www.cnblogs.com/peng-ym/p/8652288.html ( 直接去出处那看就好了 ) 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求 ...
- IntelliJ IDEA 2017 上传本地项目至码云
码云免费还挺好用,和Git类似.首先需要注册一个码云.这个就不介绍了. 点击加号,新建一个项目. 填写项目名称. 复制一下你的项目地址. 如图勾选.将项目至于git管理. 首先commit.快捷按 ...
- Linux设备驱动程序 之 装载和卸载模块
前置说明 本文例子中涉及两个模块hello.ko和world.ko,其中hello导出符号供world使用: insmod 该命令将模块的代码和数据装入内核,然后使用内核的符号表继续模块中任何未解析的 ...
- 通过Maven更换环境配置文件
大致思路:配置文件有三套:main/resources.devmain/resources.prodmain/resources.test公共部分放到main/resource下使用mvn clean ...
- 更新ubuntu的对应源配置文件
UBUNTU中安装依赖包,出现如下错误:E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/o ...
- 【JDBC】使用Spring提供的JDBCTemplate通过PrepareStatement向MySql数据库插入千万条数据,耗时32m47s,速度提升有限
数据库环境还和原来一样,只是从Statement换成了PrepareStatement,都说PrepareStatement因为预编译比Statement快,但是实际运行真快不了多少. 代码如下: p ...
- springboot内置分页技术
1,在pom.xml中注入分页的配置 <dependency> <groupId>com.github.pagehelper</groupId> <artif ...
- POCO C++库笔记 【1.Foundation基础库的结构】
Foundation库是POCO的基础库,提供了一些C++编程中常用的功能的抽象封装,主要由以下这些部分组成: Core -- 这部分除了建立跨平台库的基础头文件外,最有意义的部分是分装了原子计数的 ...
- java web 能够实现整个文件夹的上传下载吗?
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...







