问题 | 回答 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I博客作业11 |
我在这个课程的目标是 | 学习好C语言解决应用到实际生活中 |
这个作业在那个具体方面帮助我实现目标 | 了解了for,while,do-while循环之间的区别 |
参考文献 | 百度百科、CSDN博客、C语言程序设计 |
1.PTA实验作业
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
", cnt);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1
数据处理:定义n,x,i,为整型变量,y为双精度变量;
数据表达:赋值N的平方根给n和y,运用while语句,for循环语句;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 30 | cnt=0 | 10~20内没有类完全平方数 |
105 500 | cnt=6 | 105~500内有6个类完全平方数 |
1.1.4 PTA提交列表及说明
这题我是先在Dvev-C++1上先调试后复制上去的,但我记得当时出现的问题
编译错误:要定义的数定义定义错误
编译错误:我用了中文符号";"
1.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<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.2.1 数据处理
数据表达:本题定义s,y为整型变量;主函数是“int main()”,被调函数是“int is( int number )”;
数据处理:本题运用了while语句,for循环去处理变量;使用了scanf语句输入;
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted. count = 15, sum = 3720 | 与PTA实例一致 |
11 13 | count=0 ,sum=0 | 区间内没有 |
15 16 | count=0 ,sum=0 | 区间内没有 |
1.2.4 PTA提交列表及说明
编译错误:定义变量s错误
编译错误:把i赋值用成了s
编译错误: 输入(is(i))少了一个“)”
2.代码互评
2.1同学代码截图:
自己代码截图:
不同点:我和他大的代码思路大致相同,但在数据处理方面有些不一样,如我是把N的平方根赋值给n和y;而他只是赋值n的平方根赋值给m;
2.2同学代码截图
自己代码截图
不同点:本题我采用的是while语句而他用的是for循环,所以他定义的变量比我多一些,我的更加简约一些。
3.学习总结
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第一周/9-18 | 3天 | 42 | 简单的C语言知识 | 不会写代码 |
第二周/10-27 | 3天 | 提问的智慧 | 写代码的思路 | |
第三周/9-12 | 3天 | 87 | 关系运算,格式化输入语句scanf() | 怎么找错误 |
第四周/10-15 | 4天 | 106 | 使用for循环语句事先指定次数的循环程序设计 | 循环程序的逻辑关系 |
第五周/10-19 | 3天 | 126 | 自定义函数 | 构建函数 |
第六周/11-1 | 3天 | 205 | 在编程中运用函数,多分支结构,逻辑运算符,字符型数据类型 | 怎样用字符型数据 |
第七周/11-6 | 1天 | 189 | 运用switch语句 | 怎么将switch灵活运用,怎么去写伪代码 |
第八周/11-15 | 一天 | 学习了do-while语句 | 运用do-while语句 | |
第九周/11-20 | 一天 | 190 | 嵌套循环 | 嵌套循环去解决问题 |
第十周/11-29 | 一天 | 178 | 嵌套循环的综合 | 循环结构的设置思路 |
第十一周/12-6 | 一天 | 183 |
3.2 累积代码行和博客字数
3.3 学习内容总结
3.4 学习体会
这一周主要是复习,在复习的过程中感觉又学习到了新知识,switch语句能使的代码更加的简洁还有do-while语句使用能使题目更加的简单。发现在阅读别人的代码时能让自己收获许多新的东西,同明白自己与别人之间的差距。