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 <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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | 输入题给数据验证 | |
86 241 | 随机数据验证 | |
536 684 | 随机数据验证 | |
1.1.4 PTA提交列表及说明 |
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<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.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 输入题给条件验证 | |
666 1001 | 超过最大数据要求 | |
348 999 | 随机数据验证 |
1.2.4 PTA提交列表及说明
1.答案正确:我们只需要确定这个数字是不是个2的n次方-1而且是不是个素数,通过直接确定自定义函数来解决;中间的答案错误是一位我去测试浮点型的误差值,但是测试带你没有那麽精确的有哪个测试点;
2. 代码互评###
同学代码 | 自己代码 | 同学代码 |
---|---|---|
- 这道题的我所找到的同学的代码几乎都如此相似,应该都参考了网上的解题代码,先找可不可以开根号为整数,再循环找相同的数字出现了几次,两次及以上就说明这个数字是完全平方数
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 累积代码行和博客字数 **.
3.3思维导图
3.3.1 学习内容总结与体会
本周由于一些其他学科的作业以及考试而未进行其他学习,等待这两周过后菜可能去进行进一步的学习;