欢迎来到LQ的博客

C语言I博客作业11

 

 

 

**C语言I博客作业11

这个作业属于那个课程C语言程序设计||
这个作业要求在哪里 作业要求
我在这个课程的目标是 精通C语言
这个作业在那个具体方面帮助我实现目标 对于自定义函数的灵活运用
参考文献 暂无

 

PTA作业完成情况: 

 

 

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

数据处理:

数据表达:定义五个整型形参
数据处理:

  int n,m,temp,i;

  m=N;

  n = (int)sqrt(N);//赋予n值为根号下N的值

  if(n*n==m)//如果n的平方等于m则执行下列语句,否则不执行

  {

    int num[10]= {0};   //定义一个长度为十的数组

    while(m>0)//直到m>0时循环停止,执行下方语句 return 0

    {     

    temp = m%10;     

    for(i=0 ;i<=9;i++)//进行十次循环

    {       

      if(temp==i)//如果某次循环中temp等于i了,就执行if语句

      {         

        num[i]++; //数组中的任意数都加一       

        if(num[i]==2)//如果数组中有数等于2,则执行if语句

        {           

          return 1;         

        }       

      }         

    }     

    m/=10;  

实验代码截图:

 

 

 

 

输入数据输出数据说明
105 500  

 

 

.题目样例
200 800  

 

 

自建数据且正确
105 300  

 

 

自建数据且正确

 

PTA提交列表及说明:

 

 

 

编译错误:对于sqrt函数,未声明定义它为整型,在N赋值为m方面,分号未加。

 

 

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

数据表达:在定义两个自定义函数中,第一个函数定义了三个整型形参,第二个定义了五个整型形参
数据处理:

int is( int number )

{

  int b=0,c=0;//给定b,c的初始量为零

  while(number!=0)//当number不等于零时停止循环,进入下一步,if语句

  {

    b=number%10;取number除以十后的余数,第一次取个位,第二次十位,三次百位......

    c+=b;//此为下方if语句判断的重要条件,且代表各个位数累加和

    number=number/10;//每次循环少十倍

  }

  if(c==5)//如果各个位数之和为5则return 1,否则 0

  {

    return 1;

  }

  else

  {

    return 0;

  }

}

void count_sum( int a,int b )

{

  int count=0,sum=0 ,i;

    for(i=a;i<=b;i++)//a,b这里可以看做范围,也就是从a开始到b结束

    {

      if(is(i))//如果满足上方自定义函数,则执行循环体

      {

        count++;//count为满足条件的整数个数,也是计数器

        sum+=i;//sum为这些整数的和

      }

    }

  printf("count = %d, sum = %d",count,sum);

}

实验代码截图:

 

 

 

 

 

输入数据输出数据说明
104 999  

 

 

.题目样例
106 5555  

 

 

自建数据且正确
225 6666  

 

 

自建数据且正确

 

 

PTA提交列表及说明:

 

 

 

 

编译错误:老问题,分号问题。

格式错误:输出样例中,逗号和sum中间有一空格,没有则PTA显示格式错误。

代码互评:

 

我的代码:

 

 

 

 

 

 

 

同学的代码:

 

 

 

 

 

同学的代码简洁且清晰,思路巧妙。

但其未考虑周全,即奇偶情况未分明

同学的未使用数学函数,却也完成了此题,也就不用考虑我代码里说的将pow函数转换成int类型的问题。

学习总结:

 

 

日期这周所花的时间代码行学到的知识简介目前比较迷惑的问题
10/7--10/13 10+个小时 100+ if-else语句,多种运算符、少数运算规则等 理解每个代码意思和语句的使用
10/13--10/20 6+个小时 100+ 学习for循环语句 熟悉利用for语句
10/20--10/27 5+个小时 100+ 学习了函数的自定义 熟练的自定义函数和使用
10/28--11/3 6+个小时 150+ 进一步认识if语句,进一步熟悉语句之间的结合 熟练的掌握所学内容
11/4--11/10 5+个小时 150+ 学习了switch语句的运用 熟练的掌握switch的使用
11/11--11/16 7+小时 72 学习了while语句的运用 熟练的掌握while语句的使用和各个语句的嵌套
11/17--11/22 5+个小时 101 学习了循环语句的嵌套和continue,break。 熟练掌握循环语句的嵌套和continue在循环语句的使用
11/23--11/28 7+个小时 119 加深了循环语句的嵌套和各类语句的嵌套 熟悉各类语句的嵌套
11/28--12/5 9+个小时 119 定义函数 到底该怎么学习C语言,到底怎么学好它

 

学习内容总结:

 

 

 

 

 

 

 

 

 

 

 

 

学习体会:

这周的题目让我疯狂,说实话,是我太菜了

这周写PTA花费了我大量的时间,在效率方面等于0,只希望考试时自己能稳住心态,积极面对考试。再者说了,软件的学习很长,希望自己能循序渐进而不是跌跌踏踏。

马上要考试了,一定要加油呀!!!

 

今后的日子也要更加加油,坚定自己的目标,不忘初心。😄

posted @ 2019-12-06 09:19  LQNB  阅读(259)  评论(5编辑  收藏  举报