第一次作业

1、写程序证明P++等价于(p)++还是等价于*(p++)?

    #include <stdio.h>
    int main(){
    int *p, a = 1;
    p = &a;
    printf("(p)++ = %d\n",(p)++);

    printf("p++ = %d\n",p++);

    printf("*(p++) = %d\n",*(p++));

    return 0;
}

题目1 计算两数的和与差

1 设计思路
(1)第一部:审题,看裁判给出的代码是什么意思,然后需要我们做什么。
第二部:根据题意写出函数内容。
(2)流程图

2 实验代码

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

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

题目2 拆分实数的整数与小数部分

1 设计思路
(1)第一步:调用函数intpart,fracpart定义变量x
第二步:将变量x的整数部分和小数部分进行拆分
(2)流程图

2 实验代码

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

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

题目3 在数组中查找指定元素

1 设计思路
(1)第一步:定义数组,并对数组元素进行赋值
第二步:查找指定位置的元素
第三步:查找指定元素的位置
(2)流程图

2 实验代码

int search( int list[], int n, int x )

{
  int i ;
  for(i = 0;i<n;i++)
  {
  //while("i=0  , i <= n , i ++");
       
         if(list[i]==x)
         return i;
    
  }
         
         //if(list[i]!=x)
         //while("i=0  , i <= n , i ++");
     
       return -1;
}

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

题目4 找最大值及其下标

1 设计思路
(1)第一步:定义max
第二步:利用for循环遍历数组
第三步:循环结束
(2) 流程图

2 实验代码

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

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

题目5 最小数放前最大数放后

此题不会

题目6 指针选择法排序

1 设计思路
(1)第一步:遍历数组元素,找出最大值。
第二步:与第一个数组交换,以此类推
2 流程图

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

题目7 判断回文字符串

pta总是编译错误,不会。

题目8 使用函数实现字符串部分复制

此题不会

学习总结和进度

1 本周我们学习了指针,在以前的内容中加入指针,使其编写更简便
2 玩不明白
3 http://www.cnblogs.com/wwb986187/p/8635502.html王文博
http://www.cnblogs.com/chenxidream/p/8562097.html#3931732李伍壹
http://www.cnblogs.com/Vinecy/p/8619059.html申怡苗
4

posted on 2018-03-24 11:13  Doyol  阅读(186)  评论(13编辑  收藏  举报

导航