第六周作业

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://pintia.cn/problem-sets/1112476125040893952/problems/1112531032628420608
我在这个课程的目标是 运用指针函数
这个作业在哪个具体方面帮助我实现目标 指针与数组结合运用
参考文献 数组与指针
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 sum=0;
sum=sqrt(
a)+sqrt(
b);
return sum;
}
设计思路:
本题没有问题,不是太难,多点这种就好了
pta截图和运行截图:

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

读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

输入格式:

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

输出格式:

输出最大值和最小值。

输入样例:

在这里给出一组输入。例如:
5
8 9 12 0 3

输出样例:

在这里给出相应的输出。例如:
max = 12
min = 0
实验代码:

include<stdio.h>

include<string.h>

int max_min(int a[],int lun,int *gmax,int *gmin);
int main()
{
int i,n,min,max,lun;
int gmax,gmin;
int a[1000];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
lun++;
}
max_min(a[1000],lun,&max,&min);
printf("max = %d\nmin = %d\n",max,min);
return 0;
}
int max_min(int a[],int lun,int *gmax,int *gmin)
{
int i;
*gmax=a[0];
gmin=a[0];
for(i=0;i<lun;i++){
if(
gmax<a[i])
*gmax=a[i];

  *gmin=a[i];

}
}
实验思路:

本题的问题: if(gmax<a[i]与 if(gmax<a[i]的大于小于弄反了,导致答案错误
解决方法:后来自己解决的,本题解法参照了百度,稍有修改
PTA截图和运行截图:

学习进度条

posted on 2019-04-05 17:10  文加宁  阅读(144)  评论(4编辑  收藏  举报