zoukankan      html  css  js  c++  java
  • 2019春第六周作业

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 2019春第六周作业
    我在这个课程的目标是 掌握指针变量的基本运算;理解指针作为函数参数的作用;掌握如何使用指针实现函数调用返回多个值。
    这个作业在那个具体方面帮助我实现目标 理解变量、内存单元和地址之间的关系;掌握如何定义指针变量,怎样使用指针变量,怎样进行指针变量的初始化
    参考文献 教材和视频
    6-1 求两数平方根之和 (10 分)
     函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。
    函数接口定义:
    double fun (double *a, double *b); 

    其中 ab是用户传入的参数。函数求 a指针和b 指针所指的两个数的平方根之和,并返回和。

    裁判测试程序样例:

    #include<stdio.h>
    #include <math.h> 
    double fun (double *a, double *b); 
    int main ( )
    { double a, b, y;
    scanf ("%lf%lf", &a, &b );
     y=fun(&a, &b); printf ("y=%.2f
    ", y );
    return 0;
    }
    
    
    /* 请在这里填写输入样例:答案 */

    输入样例:

    12 20

    输出样例:

    y=7.94

    编程代码:

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

    编程截图:

    编程流程图:

    7-1 利用指针返回多个函数值 
     读入n个整数调用max_min()函数求这n个数中的最大值和最小值。
    输入格式:
    输入有两行: 第一行是n值; 第二行是n个数。
    输出格式:
    输出最大值和最小值。
    输入样例:
    在这里给出一组输入。例如:
    5
    8 9 12 0 3

    输出样例:

    在这里给出相应的输出。例如:

    max = 12
    min = 0

    编程代码:

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

    编程截图:

     编程流程图:

    思考题

    为什么要使用指针?它有什么用?
    因为使用指针变量在很多时候占用更小的内存空间,用来简单的标示一个地址引用,便于对变量的操作,通过指针变量可以访问到变量地址中存放的内容,比如调用函数时,它非常灵活。
    指针变量在内存中暂用多大的空间?它的大小由什么决定?
    由CPU运算模式的寻址位数决定,例如intel32位处理器32位运行模式,逻辑寻址位数32,指针也就是32位,即4个字节。

    心得感悟:

    老师说给我们的题目简单了,其实吧题目真的越来越难了,要想很久,一整周也就双休是可以好好休息的,不过这还挺充实的,这一次的作业我自己感觉还算做的不错的。

    周/日期这周所花的时间代码行数学到的知识点简介目前比较的迷惑的问题
    3/11-3/17 八个多小时 35 预习了二维数组,利用二维数组解决实际问题
    3/4-3/10 三个多小时 34 学会创建C语言中的文件,将我们所需的数据和打印出来的数据储存到文件中,学会如何将用户信息进行加密和校验 在用户信息·加密中,对低四位取反,高四位保持不变的操作不是很理解
    3/18-3/24 七个多小时 137 二维数组的初始,选择排序,冒泡排序
    3/25-3/31 七个多小时 82 判断回文,字符串,一维字符数组 英语单词排序那题还有一点点知识点没找好
    4/1-4/7 六个多小时 83 理解变量,内存和地址之间的关系 预习了指针与调用函数的相结合,有点困难

    结对编程感悟:

    本周结对编程在寝室进行,我和搭档互相讨论,我感觉我们都得到了成长,毕竟这回他也向我提出了很多意见。

  • 相关阅读:
    CSS常用原子类base.css
    前端开发规范集锦
    C#(.NET) HMAC SHA256实现
    windows200364位iis6 php环境搭建
    MSSQL数据库分页存储过程
    C#动态调用webservice
    SQL语句之备份表
    双网卡内外网同时使用的方法
    SQL2008 提示评估期已过的解决方法
    时间服务器设置局域网时间同步
  • 原文地址:https://www.cnblogs.com/wangdian1/p/10659042.html
Copyright © 2011-2022 走看看