码迷,mamicode.com
首页 > 其他好文 > 详细

第一次作业

时间:2018-03-25 19:54:44      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:ref   阅读   数组   等于   就是   第一步   code   diff   错误   

PTA第一次作业

第一题:计算两个数的和与差。
1 设计思路
(1)主要描述题目算法
第一步:阅读题目与函数。
第二步:先定义四个标识符a,b,sum,diff,对a,b赋值,然后将a的值传递给op1,将b的值传递给op2,将sum的地址传递给指针psum,将diff的地址传递给指针pdiff,最后输出两个数的和与差。
第三步:输出两数的和与差。
第四步:a+b是两个数的sum,a-b是两个数的差,因此在调用函数sum_diff中两个数的和psum等于op1+op2,两个数的差diff等于op1-op2。

void sum_diff( float op1, float op2, float *psum, float *pdiff ){*pdiff=op1-op2;
 *psum=op1+op2;
  
}

(2)本题调试过程碰到问题及解决办法

第二题:拆分实数的整数与小数部分

(1). 主要描述题目算法

第一步:阅读题目并了解函数及其定义。

第二步:找到对应函数中的实参和形参。

第二步:将X分为整数然后赋值给intpart,用x减去整数就是小数部分,然后将小数部分的值赋值给fracpart.

void splitfloat( float x, int *intpart, float *fracpart )
{
  *intpart=(int)x;
 *fracpart=x-*intpart;
}

(2)本题调试过程碰到问题及解决办法

问题:没有把x转化为整型。

改正方法:转化之后再赋给*intpart。

PTA第二次作业

第一题:在数组中查找指定元素

(1). 主要描述题目算法

第一步:阅读题目并了解函数及其定义,找到对应函数中的实参和形参并写出函数接口。

第二步:用变量i来遍历数组,如果有list[]==x的情况就代表了这个元素为了防止多次遍历。

第三步:然后把数组中所有的元素与指定元素x进行判断,如果不符合要求return -1如果只要有一个符合要求就return i。

int search( int list[], int n, int x )
{
  int i;
  int subscript = 0;
  for(i=0;i<n;i++)
  {
   if(list[i]==x)
    {
      subscript=1;
      return i;
      break;
    }
  }
  if(subscript==0)
  return -1;

}

(2)流程图

技术分享图片

(3)本题调试过程碰到问题及解决办法

遍历概念不太清楚导致自己编译很多遍才全部正确,以后要多学多练。

第二题:寻找最大值及其下标

(1). 主要描述题目算法

第一步:阅读题目并了解函数及其定义

第二步:先定义变量i然后利用变量遍历数组。

第三步:然后定义一个最大值

int fun(int *a,int *b,int n)
{
  int i;
  int max=a[0];
  for(i=0;i<n;i++)
  {
    if(max<a[i])
    {
    max=a[i];
    *b=i;
    }
  }
  return max;
}

(2)流程图

技术分享图片

(3)本题调试过程碰到问题及解决办法

指针使用错误,数值和地址弄混。

*和&使用错误

PTA第三次作业

第一题:

第二题:

PTA第四次作业

第一题:

第二题:

学习总结

(1)在这两周中对于指针的知识理解不透彻,自己也在看moc弥补。还有就是编程时间较少,有些手生,打起代码不流畅。

(2)点评网址

1

1

1

(3)托管代码

技术分享图片

第一次作业

标签:ref   阅读   数组   等于   就是   第一步   code   diff   错误   

原文地址:https://www.cnblogs.com/yeahbody/p/8646178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!