第六周作业总结

这个作业属于那个课程 C语言程序设计ll
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2888
我在这个课程的目标是 了解指针的作用
参考文献 C语言实验与设计

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\n", y );
return 0;
}


/* 请在这里填写答案 */

输入样例:

12 20

输出样例:

y=7.94

实验代码:

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

设计思路:

本题遇到的困难及解决办法

没有遇到困难

运行截图

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(void)
{
    int n,*pmax,*pmin,max,min,i;
    scanf("%d\n",&n);
    int a[n];
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    max_min(a,n,&max,&min);
    printf("max = %d\nmin = %d",max,min);
    return 0;
}
void max_min(int a[], int n, int *pmax, int *pmin)
{
    int j;
    *pmax=a[0];
    for(j=0;j<n;j++){
        if(*pmax<=a[j]){
            *pmax=a[j];
        }
    }
    *pmin=a[0];
    for(j=0;j<n;j++){
        if(*pmin>a[j]){
            *pmin=a[j];
        }
    }
}

设计思路

扫描二维码关注公众号,回复: 5790743 查看本文章

本题遇到的困难及解决办法

对指针的使用和对指针的赋值都不太熟练,通过对照书上的例题完成了此题、

运行截图

思考题

  1.为什么要使用指针?它有什么用?
指针的使用比较灵活,在数据的传递时可以使用指针传递地址节省大量的内存。可以用来做数据类型转化。可以根据不同的命令执行不同的命令。在数据结构中,大量应用都离不开指针。 使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能。
  2.指针变量在内存中暂用多大的空间?它的大小由什么决定?
不同类型数据指针变量所占的字节是一样的都是4个字节,因为存储的是内存地址。指针大小是由当前CPU运行模式的寻址位数决定!

挑战题

思路 先了解联通元素如何判断,再进行输出

结对编程

结对编程的优点

1.碰到问题可以进行讨论,合力解决
2.可以提升双方友谊
3.大大提高编程效率

学习感悟

本周学习了指针的运用,了解到指针的重要作用。但对指针的使用还不够熟练,需要多加练习。

学习进度

折线图

猜你喜欢

转载自www.cnblogs.com/tyz666/p/10660356.html