C语言I博客作业11

一.表格

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业11
我在这个课程的目标是 把C语言学精,熟练掌握编程技术,努力找到简单代码的写法
这个作业在哪个具体方面帮助我实现目标 PTA上做题,devc++慢慢掌握调试,加强对于函数类型以及静态和动态储存的理解与应用
参考文献 百度百科,其他同学作业,《C Primer Plus》,教科书

二.本周作业

1.PTA实验作业

1.1统计某类完全平方数

题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:

int IsTheNumber ( const int N );

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

输入样例:

105 500

输出样例:

cnt = 6
1.1.1数据处理
  • 数据表达r,n,a[10],d(变量);运算,赋值(怎么来);int(整型)

  • 函数参数主函数是“int main()”,被调函数是“int IsTheNumber ( const int N )”实参是N,形参是r,n,a,它们都是整型

  • 数据处理
定义变量r来放参数N二分之一次方,n来放参数N,a[10]来放完全平方数(完全平方数可以有10位)

if(r*r==N)
   判断是否是完全平方数
   定义变量d来表示数组里的元素
   while(n){
     d=n%10;
     求完全平方数个位数
     a[d]++;
     数组元素位置上加1
     if(a[d]==2){
     是否同一个元素位置上等于2
     返回1;跳出循环
     


   n/=10; 
   取出完全平方数的各位数
   }
  不是便返回0
1.1.2实验代码截图

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

1.1.3造测试数据
输入数据 输出数据 说明
105 500 cnt = 6 题目样例
1 100 cnt = 1 包含所有二位数
1 1000 cnt = 9 包含所有3位数
-100 0 cnt = 0 不符合条件
1.1.4PTA提交列表及说明


题目说明:这个题目刚开始想不用数组去写,想了很久,发现根本不可以。因为完全平方数的位数无法确定,所以必须用数组才可以解决这个问题。去百度搜了一下数组怎么用,然后再dev上试了十多分钟,便写出来了。理解之后便写在pta上面了。

1.2 统计各位数字之和是5的数

题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

函数接口定义:

int is( int number );
void count_sum( int a, int b );

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

输入样例:

104 999

输出样例:

104 is counted.
count = 15, sum = 3720
1.2.1数据处理
  • 数据表达a,i,sum,j,count(变量)运算,赋值(如何来);int(整型)
  • 函数参数主函数是“int main()”,被调函数是“int is( int number )”和“void count_sum( int a, int b )”;实参是number,a,b;形参是a,i,sum,j,count,它们都是整型变量。
  • 数据处理
int is(int number)
定义i来放number(正整数),定义a来放正整数的各位数字,定义sum来放各位数字之和
while(i>0)
 a = i % 10;
 sum=sum+a;
 i = i/10;//取出正整数各位数
if (sum == 5)
   判断是否各位数字之和是否等于5
   是则返回1
   不是便返回0.

void count_sum(int a, int b)
定义j来放a--b之间数,定义count来放满足要求的所有整数,定义sum来放满足要求的整数之和
for (j=a;j<=b; j++)
    if (is(j))
    是否满足各位数字之和等于5
    sum+=j;
    count++;

    printf("count = %d, sum = %d", count, sum);
    输出足要求的所有整数,满足要求的整数之和
1.2.2实验代码截图

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

1.2.3造测试数据
输入数据 输出数据 说明
104 99 题目样例
1 100 count = 6,sum = 165 计算所有2位数值
99 99999 count = 120,sum = 1399821 取较大数值
-100 -1 count = 0,sum = 0 不符合题目条件
1.2.4PTA提交列表及说明


编译错误:刚开始设置变量sum1,sum2,以为这两个变量不一样。看清题目之后才知道这两个变量是一样的,只要设置一个就行;把sum1和sum2改为sum

2.代码互评

2.1.1 同学代码截图①

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

2.1.2自己代码截图①

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

  • 我们的不同之处.
  • 我们的思路是一样的先用变量表示完全平方数,然后再去判断是否相等,不过数组判断有点不一样,我直接是等于2,他是用了一个变量
  • while()有些不一样我是省略了大于0。我用d表示数组元素在d表示的数赋值他是直接用另一个数组元素j赋值
  • 他的代码比我好理解一点,为了能让人都读懂,我应该要学他这种代码易懂得写法

    2.2.1同学代码截图②

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

    2.2.2自己代码截图②

    C语言I博客作业11_第8张图片
  • 我们的不同之处.
  • 他的思路和我差不多,不过表达有些偏差。
  • 他用number表示正整数;我是直接用i赋值给number,这样可以省不少字
  • 我和她while()有点偏差。她是不等于0,我是大于0。
  • 他的这种思维更加简单,不过逻辑没有我紧密

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    十一/3/12-6/12 3天 150 函数类型以及静态和动态储存的理解与应用 挑战题数组的运用
    十/26/11-29/11 2天 110 对循环语句for,if-else加强理解以及对嵌套掌握更加熟练 还有点不清楚字符怎么用
    九/19/11-22/11 3天 100 break语句,continue语句用法和区别 不太清楚字符怎么用
    八/12/11-15/11 3天 120 while和do-while循环语句用法和概念 暂时没有
    七/5/11-8/11 3天 140 switch语句用法 如果x为浮点型,y,z为整型为什么x=y/z答案不对
    六/28/10-2/11 3天 130 嵌套if-else语句,格式以及如何应用 不太清楚Devc++怎么调试
    五/22/10-25/10 3天 100 用法如何定义函数,格式以及如何应用 暂时没有
    四/15/10- 18/10 3天 80 循环结构,流程图,数学函数 数学公式的表达,为什么整数除以变量有一个要用括号括起来还要乘以1.0
    三/9/10-13/10 3天 70 if-else,&&用法,字母%用法,数学函数 PTA每次答案错误,都十分难找出来。不得已重打

3.2累计代码行和博客字数

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

3.3学习内容总结和感悟

3.3.1学习内容总结

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

3.3.2学习体会
  • 这周主要进行对函数的拓展:全局变量、局部变量、静态和动态存储区怎么用,是什么。感觉函数类似于数学函数啊。。依旧的难理解。看样子要多看书和b站大学理解了。
  • 这次作业一元二次方程好难啊。。复数的输出真的好难。。应该是因为高中没对一元二次拓展,,完全不知道复数跟怎么讨论
  • 主要是进行全局变量和局部变量以及自动变量和静态变量的分别
  • 快要期末了,我发现上课学的知识真的很少,这也说明了大学是靠自学的。下周就要考选择题了。。我得抓紧学后面内容了。

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