问题 |
答案 |
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
作业链接 |
我在这个课程的目标是 |
学会并掌握C语言基本知识,能够相关C语言的各种代码 |
这个作业在那个具体方面帮助我实现目标 |
学习函数相关知识 |
参考文献 |
C语言程序设计(第3版)、百度、360浏览器 |
1.PTA实验作业(20分/题)
1.1 6-1 统计某类完全平方数 (20分)
题目内容描述:
1.1.1数据处理
数据表达:本题用了n,t,i,temp,flag这些变量,其中n值来自于N的值,t是通过n开平方得值,i是一个循环变量,定义初始值为0,temp的值来源于n除以10的余数,flag定义初始值为0,通过条件判断赋值为1,都是整型变量;
数据处理:
伪代码:
int IsTheNumber ( const int N )(函数名)
{
int n,t,i,temp,a[10]={0},flag=0
n←N;
t=(int)sqrt(n)t等于n的平方根 (整型)
if t的平方等于n
{
while(n不等于0)(直到n等于0跳出)
{
temp←n%10(n除以10的余数)
a[temp]++(累加)
n←n/10(n除以10)
}
for(i←0;i小于10;i++)
{
if(a[i]小于或等于2)
{
flag←1
返回值 1
}
}
if(flag等于0)
返回值 0
}
else
返回值 0
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
105 500 |
cnt = 6 |
使用题目所给数据 |
10 100 |
cnt = 1 |
使用较小数据 |
200 600 |
cnt = 4 |
随机范围 |
10 1000000 |
cnt = 780 |
较大范围 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.编译错误:在if(t*t==n)中少写一个“=”;
solve:在原有的“=”后面再加上一个“=”;
2.编译错误:在循环条件for(i=0;i<10;i++)中写成i<=10;
solve:将i<=0中的“=”去掉;
3.答案正确:通过修正答案正确;
1.2 6-2 统计各位数字之和是5的数 (20分)
题目内容描述:
1.2.1 数据处理
数据表达:本题用了number、x、y、count、sum、i、a、b这些变量,其中y、count、sum定义初始值为0,x通过number除以10的余数来来给值,number通过之前自身的值来除以10的值来给值,y通过x加y的和来赋值,a、b通过scanf函数来赋值,然后在for循环中将a值赋给i,在通过循环内部相关语句count进行累加,sum循环加之前自身的值和i值之和,都是整型变量。
数据处理:
伪代码:
int is(int number)(函数名)
{
int x,y←0
do{
x等于number除以10的余数
number等于number除以10
y←x+y
}while(number不等于0)(直到number等于0)
if(y等于5)
返回值 1
else
返回值 0
}
void count_sum(int a, int b)(函数名)
{
int count←0,sum←0
int i
for(i←a;i<=b;i++)
{
if(is(i))
{
count++
sum等于sum加i
}
}
输出count和sum的值
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
104 999 |
|
使用题目所给数据 |
10 100 |
|
使用较小数据 |
100 1000000 |
|
使用较大数据 |
1004 1000000 |
|
使用a的各个数字之和为5的数据 |
1000 1000004 |
|
使用b值各个数字之和为5的数据 |
203 2003 |
|
使用a、b各个数字之和均为5的数据 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.编译错误:while语句后面没有加“;”;
solve:在while(number!=0)后面加上“;”;
2.编译错误: count_sum中间没有加“_”;
solve:zai count和sum中间加上“_”;
3.答案正确:通过修正答案正确;
2.代码互评(5分)
同学代码截图
自己代码截图
不同之处:
1.第一位同学的代码的返回值和我表达不同;
2.第二位同学的代码比我简洁。
3.学习总结(15分)
3.1 学习进度条(5分)
周 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第一周(9/17-9/22) |
5小时 |
43行 |
学会写最简单的代码 |
无 |
第二周(9/24-10/4) |
6小时 |
62行 |
学会温度转换 |
无 |
第三周(10/6-10/13) |
11小时 |
86行 |
学会写函数程序 |
不知道怎么在什么情况下调用scanf()函数 |
第四周(10/14-10/20) |
10小时 |
105行 |
for循环语句和循环结构 |
不知道定义多少个变量 |
第五周(10/21-10/27) |
10.5小时 |
114行 |
学会怎样去定义一个函数和它的基本格式 |
对于函数题的编程不知道该怎么样去设计 |
第六周(10/28-11/3) |
12小时 |
135行 |
学会二分支结构和if-else语句 |
对于输入一个正整数,然后输入对应数量的数值的代码编写存在迷惑 |
第七周(11/4-11/10) |
13.5小时 |
173行 |
学会怎样用switch简化代码的复杂性 |
使用switch语句时怎么能够很好的与其他语句很好的衔接 |
第八周(11/11-11/17) |
10小时 |
157行 |
学会使用do-while语句和while语句 |
while后面的循环结束执行条件该如何判定 |
第九周(11/18-11/24) |
9小时 |
125行 |
学会怎样去写一个关于嵌套循环的代码 |
怎么样区分一行输出几个和输出几行 |
第十周(11/25-12/1) |
11小时 |
167行 |
进一步温习嵌套循环的使用 |
对于怎么理清内循环和外循环的循环语句和条件 |
第十一周(12/2-12/8) |
12小时 |
152行 |
学习函数类型、作用存、储类型相关知识 |
不能很好的理清他们之间的关系 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
本周主要学习了关于函数的相关知识,了解到函数的类型、作用域、存储类型,函数类型分为库函数和自定义函数,变量的作用域分为局部变量和全局变量,存储类型分为静态和动态。还提到自动变量只能在函数内或复合语句中定义.
3.3.2 学习体会
对于我个人感觉,这次的PTA作业的函数题和编程题挺难的,有个别题目连思路都没有,还有的题目有些的计算方法都还没没有弄明白,甚至都不会去怎么很好并且正确的表达题目所包含的意思。本周学习关于函数的知识有些我还是感觉还没有弄懂,因为这些知识有的具有互通性,还有牵扯到的内容也很多,但这并不是我学不好的理由,有困难就要善于去解决,不会做就多查查资料,但是我觉得我自己现在有点过分依赖百度,虽然有些不一定找的到,但是我还是会不停的去查找。感觉本周的事情很多,还有令自己非常郁闷的事,关系到我的期末考试,现在我只有尽量不去想那个事情,因为怀着不愉快的心情做事效率非常低下。加油吧,但愿每天都能有一颗愉悦的心情!