• 第六周


    这个作业属于哪个课程 C语言程序设计2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2888
    我的课程目标 运用指针
    这个作业在哪个具体方面帮助我实现目标 用指针解决问题
    参考文献 https://wenku.baidu.com/view/f4ea4338bf23482fb4daa58da0116c175f0e1ec5.html

    第一题

    6-1 求两数平方根之和 (10 分)

    函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。

    (2)代码

    double fun (double *a, double *b)
    {
      double sum;
      sum=sqrt(*a)+sqrt(*b);
      return sum;
    }
    

    思路

    (4)运行结果截图

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

    本题比较简单,调试过程中没有遇到任何问题

    第二题

    7-1 利用指针返回多个函数值 (30 分)

    读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

    代码

    #include<stdio.h>
    #include<string.h>
    void max_min(int *max,int *min);
    int main()
    {
      int max,min; 
      max_min(&max,&min);
      printf("max = %d
    min = %d",max,min);
      return 0;
    }
    void max_min(int *max,int *min)
    {  
      int i,n;
      int a[100];
      scanf("%d",&n);
      for(i=0;i<n;i++)
        scanf("%d",&a[i]);
      *max=*min=a[0];
      for(i=1;i<n;i++)
      {
        if(*max<a[i]) 
        *max=a[i];
        if(*min>a[i])
         *min=a[i];
      }
    }
    

    思路

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

    原先在主函数中输入
    这样怎用都显示错误
    后来我直接在主函数中输入和判断就行了

    (4)运行结果截图

    预习题

    6-3 最小数放前最大数放后 (10 分)

    为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素

    代码

    void input(int *arr,int n)
    {
        int i;
        for(i=0;i<n;i++)
        scanf("%d", &arr[i]);
    }
    void max_min(int *arr,int n)
    {
        int i,max,min;
        int x,y,z;
        max=arr[0];
        min=arr[0];
        for(i=1;i<n;i++){
          if(max<arr[i]){
              max = arr[i];
              x = i;
               }
          if(min>arr[i]){
              min= arr[i];
              y=i;
              }
          }
            z=arr[0];
            arr[0]=arr[y];
            arr[y]=z;
           z=arr[n-1];
           arr[n-1]=arr[x];
           arr[x]=z;
        } 
     void output(int *arr,int n)
     {
            int i;
            for(i = 0;i < n; i++)
            printf("%3d", arr[i]);
     } 
    

    思路


    这个题写过,就是改为用指针了

    学习进度条

    周/日期 这周所花时间 代码行数 学到知识点 目前比较迷惑的问题
    4/1-4/5 一下午 67 指针和函数 指针的运用

    5学习感悟

    地址和指针是计算机中的两个重要概念,在程序运行过程中,变量或者程序代码被储存在以字节为单位组织的存储器中。在C语言中,如果定义了一个变量,在编译时就会根据该变量的类型给它分配相应大小的内存单元。指针声明符在定义指针时被使用,说明被定义的那个变量是指针。定义多个指针变量时,每一个指针变量前面都必须加上。

    六、结对编程感想

    有学习的氛围对我的学习有很大的帮助,在一写问题上也可以互相讨论

  • 相关阅读:
    android中的Cursor类
    设计模式之UML类图的常见关系(一)
    关于form 上传文件时的小问题
    Javascript中最常用的61段经典代码
    自我提升mysql
    为mysql在表的某一位置增加一列
    由<a>标签的onclick影出来的问题
    第一博客
    异常的出理
    2016.7.17内部类
  • 原文地址:https://www.cnblogs.com/huangxing123/p/10659179.html
Copyright © 2020-2023  润新知