C语言I博客作业11
一、本周教学内容&目标
第5章 函数 要求学生掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。
二、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096 |
我在这个课程的目标是 | 掌握C语言,灵活运用C语言编程 |
这个作业在那个具体方面帮助我实现目标 | 了解局部变量、外部变量以及函数运用 |
参考文献 | 百度以及C语言程序设计教材 |
1.PTA实验作业
1.1 6-1 统计某类完全平方数
内容描述:
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
数据表达:用户自定义函数中N为形参,定义整型函数i为n的余数,m为N的开方数,n为m的二次方数,y为计数的标志
数据处理:
用户自定义函数(形参)
定义变量;
m=sqrt(N);
n=m*m;
如果(N==n){
数组赋值为0;
while(n>0){
求n除以10的余数;
a[i]++;
如果数组中的某个数字存储了两次
则y=1;
}
n=n/10;
}
return y;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt=6 | 题目实例 |
108 999 | cnt=9 | 三位数之间的完全平方数 |
1000 1999 | cnt=6 | 四位数之间的完全平方数 |
1.1.4 PTA提交列表及说明
提交说明:
1.答案错误:一开始将n=n/10写进了whlie中a[i]++后面,后面将它写至了if后面
2.答案错误:return这里我用了if else语句,发现不行,于是将y赋值为0,直接return y
1.2 7-3 6-2 统计各位数字之和是5的数
题目内容描述:
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
数据表达:自定义函数中number以及a和b为形参,定义了整型变量m为number的余数,n为m之和,i为循环变量,sum为i之和,count计数
数据处理:
int is( int number )
定义变量
m=number%10;
number=number/10;
n=n+m;
如果(n==5){
则return 1;
}
else{
则return 0;
void count_sum( int a, int b )
定义变量i,sum=0,count=0;
for(i=a;i<=b;i++){
如果(is(i)){
count++;
sum=sum+i;
}
}
输出
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 题目示例 | |
5 99 | 当数为两位数时 | |
1000 1999 | 当没输出%d is counted.\n,ah或%d is counted.\n, b时 |
1.2.4 PTA提交列表及说明
提交说明:
1.答案错误:我将if语句写进了while语句中,后来更正过来了,写在了while语句后
2.代码互评
2.1题目:6-1 统计某类完全平方数
同学代码:
我的代码:
不同:
1.他使用了for的嵌套循环,我是直接if-else
2.我是用i=m%10 a[i]++,而他是使用a[i]=m%10,i++
2.2题目:6-2 统计各位数字之和是5的数
同学代码:
我的代码:
不同:
1.我用的是while语句,他使用的是do-while语句
2.他在第二个自定义代码中if语句if(is(i)==1)而我的直接用if(is(i))
3.学习总结
3.1 学习进度条
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这次做作业比较晚,然后对于这周学习的内容还是有点欠缺,要加油努力补习回来,马上要考试了,下一周就要考试选择题,对自己掌握的知识点还是不太熟练,真的要多加练习,下下周就是三个随机代码的考试,希望抽中的都是自己会的,然后在一定时间内将它们完成,因为每次写作业的时候我都很浪费时间,速度不够,希望自己能够加快速度,趁早写完,写题的时候要细心吧。本周知识对于函数来讲还是有一点点不太懂,加油!