Live2D

第六周作业

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 要求
我在这个课程的目标是 <指针返回多个函数值>
这个作业在那个具体方面帮助我实现目标 <指针>
参考文献 <--->

6-1 求两数平方根之和

函数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 result,c,v;
c = sqrt(
a);
v = sqrt(
b);
result = c + v;

return result;

}

正确截图:

设计思路:!

运行截图:

遇到的问题及解决办法:

和&有点迷糊,在引用的时候到底是&a还是a,还是&*a,发现指针就老老实实引用*变量这种格式

7-1 利用指针返回多个函数值

读入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 *maxp,int *minp)

{

 int i;

 *maxp=a[0];

 *minp=a[0];

 for(i=1;i<=n-1;i++)

 {

      if(a[i]>=*maxp)

       *maxp=a[i]; 

      else if (a[i]<*minp) 

       *minp=a[i];

 }

}

int main()

{

 int a[100],n,i,max,min;

 scanf("%d",&n);

 for(i=0;i<=n-1;i++)//去掉分号

 scanf("%d",&a[i]); 

 max_min(a,n,&max,&min); //应该是传变量地址,max_min(a,n,maxp,minp); 

 printf("max = %d\nmin = %d",max,min);

 return 0;

}

设计思路:

正确截图:

运行截图:

遇到的问题及解决办法:

  1. max_min(a,n,&max,&min); 这个传变量地址出问题,导致输出错误
    

已解决,是传向max和min而不是指针变量

2.scanf("%d",&a[i]); 这里总是习惯打个空格,后面导致格式错误,回车没显示
已解决,删除空格,成功输出

学习进度表

周/日期 所花的时间 代码长度 学习内容 比较迷惑的方面
3/3-3/9 1.5h 36 文件的创建和写入 指针的运用
3/11-3/15 2h 45 判断一个情况时用一个变量来决定,正确取0反则取1这种方法没有这个意识去用
3/19-3/22 4h 48*3 排序&找鞍点 for语句的嵌套
3/25-3/29 3h 25 英文字母排序 指针的运用
4/2 1h 40 指针返回多个函数的值 *和&的变化和指针传变量地址的问题

总结:

总体上来讲这次作业是比较简单的,单纯的考了一个指针的引用,还复习了一下自定义函数,还是比较轻松的,还有很多富裕的时间学习html和css等等,这周比较满意自己的进度,刚好清明节来了,作业少就是开心

结对编程:

1.刚开始,这次比较简单就随便看了看两个人,没什么很深的交流,相信下次比较难的时候会更进一步.
2.结对编程收获到了博客美化随笔美化方式,哈哈暂时还是有点小收获

posted @ 2019-04-02 19:25  饭耶  阅读(202)  评论(2编辑  收藏  举报