C语言I博客作业11

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10126
我在这个课程的目标是 熟悉并熟练编程,争取独自设计一个小程序
这个作业在哪个地方具体方面帮助我实现目标 掌握各种函数的意义和定义函数,能够知道函数用途
参考文献 C语言课本,百度

1.PTA实验作业

1.1题目名

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。

1.1.1数据处理

数据表达:定义整型变量m、n、i、div,运用了if语句,while和for循环
数据处理:
伪代码:
int IsTheNumber ( const int N )
{
int n = N;
int m;
int div = 10;
int i;
i = (int)sqrt(N);//令i等于N的根方并取整
m = i * i;
if (m == N)
{
int tmp[10]={0};//清零
while (n > 0)
{
for (int k = 0; k < div; k++)
{
if (n % 10 == k)//赋值给k
{
tmp[k] += 1;//计算有多少个这样的整数
if (tmp[k] == 2)
{
return 1;
}
}
}
n = n / div;//计算n
}//循环计算
return 0;
}
return 0;
}

1.1.2实验代码截图

C语言I博客作业11_第1张图片
C语言I博客作业11_第2张图片

1.1.3造测试数据

输入数据 输出数据 说明
100,500 n=7 有7个数满足条件
100,150 n=3 有3个数满足条件
500,1000 n=2 有2个数满足条件

1.1.4PTA提交列表及说明


说明:这一题在dev-c++上面试了很多次,错误总出在第七行和第十四行和十九行,未了解这个语句然后不知道这样写的原因,经过多次琢磨问大佬终于解决了这个问题。

1.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

1.2.1数据处理

数据表达:定义变量digital,sum1,用到了do-while循环和else语句。
数据处理:int is(int number)
{
int digital;
int sum1=0;
do
{
digital=number%10;
sum1=sum1+digital;
number=number/10;
}//提取各位数
while(number!=0);
if (sum1==5)//判断是否为5
return 1;
else
{
return 0;
}
}
void count_sum(int a,int b)//计算另一种情况
{
int count=0;
int sum=0;
int t;
if(a>b)
{
t=a;
a=b;
b=t;
}//调换a,b的值
else
{
for(int i=a; i {
if(is(i))
{
count++;
sum=sum+i;
}
}
printf("count = %d, sum = %d",count,sum);//输出
}
}

1.2.2实验代码截图

C语言I博客作业11_第3张图片
C语言I博客作业11_第4张图片

1.2.3造测试数据

输入数据 输出数据 说明
104 999 104 is counted. count = 15, sum = 3720 满足条件的整数有15个,整数和为3720
200 800 count = 10, sum = 3110 满足条件的整数有10个,整数和为3110
300 888 count = 6, sum = 2244 满足条件的整数有6个,整数和为2244

1.2.4PTA提交列表及说明

C语言I博客作业11_第5张图片
说明:多次错误是当时第十九行没想到,导致错误;然后就是字母过多,搞混了,造成错误。

2.代码互评

2.1同学代码

C语言I博客作业11_第6张图片

2.2自己代码

C语言I博客作业11_第7张图片
C语言I博客作业11_第8张图片
说明:我和这位同学的代码看起来差不多,但是这位同学的代码比我的代码看起来简洁多了,也更容易懂,以后我的代码也要越来越简洁,一看就懂的那种,稳步提升自己。

2.3同学代码

C语言I博客作业11_第9张图片

2.4自己代码

C语言I博客作业11_第10张图片
C语言I博客作业11_第11张图片
说明:代码差异不大,但是中间代码有一段不一样,我令a,b等于特定的值,然后运行下一步,而这位同学则是对其进行定义然后运行下一步。

3.学习总结

3.1学习进度条

周/日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
7/2019.10.11 14 280 scanf,if else语句 对于scanf语句还不是特别了解
8/2019.10.17 16 320 for的循环语句以及循环体 不太懂循环体的操作,以及对于for的循环语句也不是很熟悉
9/2019.10.25 20 430 使用自定义函数和调试代码 调试过程不太熟悉,调试操作不太熟练
10/2019.11.1 18 570 多分支结构和逻辑运算符 对逻辑运算符了解不是特别明白,对多分支结构不太熟悉
11/2019.11.8 18 700 switch分支结构 对switch语句还不够熟练
12/2019.11.15 22 980 熟练掌握while和do-while语句 对do-while语句还不是特别了
13/2019.11.21 28 1258 了解了continue语句和break语句的大致区别,知道了嵌套循环 虽然知道了有continue语句和嵌套循环,但是不会把它运用到具体题目中去
14/2019.11.28 25 1576 对于之前学习的知识有了一点会齐的感觉,了解了一点 虽然大体上,大概了解了,然而还是不很熟练将其运用进实际问题
15/2019.12.5 26 1789 对函数有了深一点的了解,懂了函数的定义和使用,认识到了变量的作用域,生存周期和存储类型 对于函数的使用不太熟悉

3.2累积代码行和博客字数

C语言I博客作业11_第12张图片

3.3学习内容总结和感悟

3.3.1学习内容总结

请用思维导图的形式将到目前为止所学的内容进行整理
C语言I博客作业11_第13张图片

3.3.1学习体会

这次的题目好难,尤其是编程题,题目都看不懂,不知道从哪下手,没有一点头绪,觉得自己虽然上了这么久的课了,但其实懂的东西不太多,以后还要做的更多,掌握方法,逐渐熟悉起来,多锻炼自己的思维能力,增强读题能力,不至于以后再出现看不懂题目的状况。

你可能感兴趣的:(C语言I博客作业11)