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

    第六周作业

    本周作业头

    这个作业属于哪个课程 C语言程序设计Ⅱ
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class1-2018/homework/2825
    我在这个课程的目标 指针和地址的概念,指针变量的初始化和调用函数
    这个作业在那个具体方面帮助我实现目标 数组与指针的运用

    基础作业

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

    函数接口定义:
    double fun (double *a, double *b);
    其中 a和 b是用户传入的参数。函数求 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 i,j,result;
    	i=sqrt(*a);
    	j=sqrt(*b);
    	result=i+j;
    	return result;
    }
    

    流程图:

    运行结果图:

    7-1 利用指针返回多个函数值 (30 分)
    读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

    输入格式:
    输入有两行: 第一行是n值; 第二行是n个数。

    输出格式:
    输出最大值和最小值。

    输入样例:
    在这里给出一组输入。例如:

    5
    8 9 12 0 3
    

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

    max = 12
    min = 0
    

    实验代码:

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

    流程图:

    运行结果图:

    思考题:

    1.为什么要使用指针?它有什么用?
    写程序需要尽可能少的内存,使用指针型变量在很多时候占用更小的内存空间

    2.指针变量在内存中暂用多大的空间?它的大小由什么决定?
    指针变量本身所占存储空间的大小取决于存储地址值所需的字节数,这个存储地址值就是一个32位的内存地址值

    学习进度条:
    周/日期 这周所花时间 学习到的知识点 目前比较迷惑的
    3/4-3/9 3小时 文件的读写 文件打开的代码格式
    3/9-3/15 4小时 数组的运用 二位数组子数组的最大值的求和
    3/16-3/22 3小时 选择排序法 冒泡排序法
    3/22-3/29 5小时 二维数组 二维数组与字符串的结合使用
    3/29-4/5 4小时 指针与地址 指针与数组的运用

    学习感悟:

    题目难度开始不断加大,需要更认真的去学习了

  • 相关阅读:
    循环语句 for , forin , forEach
    Haxe
    Haxe数据类型
    jango中间件的使用
    python的遍历模式
    python文件读写
    python3.5以上自带的虚拟环境在各种环境下的使用方法
    冒泡排序
    工厂方法模式
    redis 配置
  • 原文地址:https://www.cnblogs.com/Azhenhs/p/10651212.html
Copyright © 2011-2022 走看看