第六周作业

这个作业属于那个课程 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;
}
设计思路:1580795-20190405162816522-1779727032.png
本题没有问题,不是太难,多点这种就好了
pta截图和运行截图:1580795-20190405163211753-1105191973.png

1580795-20190405163317427-1771115170.png

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];

}
}
实验思路:1580795-20190405165535095-820448509.png

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

学习进度条
1580795-20190405170643879-339141076.png

转载于:https://www.cnblogs.com/Vennien/p/10659189.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值