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

    本周作业头

     

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://www.cnblogs.com/xzsx/p/10654669.html
    我在这个课程的目标是 继续使用数组和指针
    这个作业在那个具体方面帮助我实现目标 做题目
    参考文献 c primer plus

     

     

     

     

    基础作业

    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 fun (double *a, double *b)
    {
     double sum;
     sum = sqrt(*a) + sqrt(*b);
     return sum;
    }

    设计思路

    错误截图

    运行截图

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

    读入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, *pmax,*pmin,a[1000];
      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=*pmin=a[0];
      for(i=1;i<len;i++){
        if(*pmax<a[i]) 
        *pmax=a[i];
        if(*pmin>a[i])
         *pmin=a[i];
      }
    }
    
    
    

    设计思路

    错误截图

    运行截图

    预习作业

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

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

    函数接口定义:

    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    

    三个函数中的 arrn 都是用户传入的参数。n 是元素个数。

    input函数的功能是输入 n个元素存到指针arr所指向的一维数组中。

    max_min函数的功能是求指针arr所指向的一维数组中的最大值和最小值,其中最小的数与第一个数对换,将最大的数与最后一个数对换。

    output函数的功能是在一行中输出数组元素,每个元素输出占3列。

    裁判测试程序样例:

    #include<stdio.h>
    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    int main()
    { int a[10];
    input(a,10);
     max_min(a,10);
     output(a,10);
     return 0;
    }
    
    /* 请在这里填写答案 */
    

    输入样例:

    5 1 4 8 2 3 9 5 12 7
    

    输出样例:

      1  5  4  8  2  3  9  5  7 12
    实验代码
    void input(int *arr,int n)
    {
      for(int i=0;i<n;i++){
        scanf("%d",&arr[i]);
      }
    }
    void max_min(int *arr,int n)
    {
      int i,max,min,temp;
      for(i=1;i<n;i++){
        if(arr[i]>arr[max])
          max=i;
        if(arr[i]<arr[min])
          min=i;
      }
      temp=arr[max];
      arr[max]=arr[9];
      arr[9]=temp;
      temp=arr[0];
      arr[0]=arr[min];
      arr[min]=temp;
    }
    void output(int *arr,int n)
    {
      for(int i=0;i<n;i++){
        printf("%3d",arr[i]);
      }
    }设计思路

    错误截图


    运行截图

    思考题:
      1.为什么要使用指针?它有什么用?
    答:指针变量占用更小的内存空间,可便于对变量的操作,通过指针变量可以访问到变量地址中存放的内容,简化代码。
      2.指针变量在内存中暂用多大的空间?它的大小由什么决定?
    答:是由CPU的寻址位数决定,像逻辑寻址位数16,指针就是16位,就是2个字节。
    学习感悟:学习了数组和指针,这些题目上学期就接触过,只是忘记了一些细节,用了很长时间才写
    完博客,希望
    可以用更多的时间来写题目,而真正写好一篇博客用时太长,我太菜了,继续练习呗。
    学习进度:
    周/日期 所花时间 代码行数 学到的内容 目前比较疑惑的问题
    4/1-4/7 5天 80 内存和地址的关系 预习题所涉及的知识点还有点不懂

    折线图


    结对编程过程和优缺点:可以取长补短,相互借鉴,共同进步,但是有时只有一个人在搞,另外一个人有点不懂
     
  • 相关阅读:
    noi 2011 noi嘉年华 动态规划
    最小乘积生成树
    noi 2009 二叉查找树 动态规划
    noi 2010 超级钢琴 划分树
    noi 2011 阿狸的打字机 AC自动机
    noi 2009 变换序列 贪心
    poj 3659 Cell Phone Network 动态规划
    noi 2010 航空管制 贪心
    IDEA14下配置SVN
    在SpringMVC框架下建立Web项目时web.xml到底该写些什么呢?
  • 原文地址:https://www.cnblogs.com/Markming/p/10658511.html
Copyright © 2011-2022 走看看