2019年春季学期第六周作业

基础作业

 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

 

实验代码

1 double fun (double *a, double *b)
2 {
3   double Y;
4   
5   Y = sqrt(*a) + sqrt(*b);
6   
7   return Y;
8 }

设计思路

 

本题调试过程碰到问题及解决办法

 本题没有太大的问题一次通过

运行结果截图

 

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

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

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

输出格式:
输出最大值和最小值。

输入样例:
在这里给出一组输入。例如:

5
8 9 12 0 3

输出样例:
在这里给出相应的输出。例如:

max = 12
min = 0

实验代码

 1 #include<stdio.h>
 2 
 3 void max_min(int n, int number[10000], int *max, int *min);
 4 
 5 
 6 int main(void)
 7 {
 8     int i, n, max, min;
 9     scanf("%d", &n);
10     int number[10000];
11 
12     for(i = 0; i < n; i ++)
13         scanf("%d", &number[i]);
14 
15     max_min(n, number, &max, &min);
16     printf("max = %d\nmin = %d", max, min);
17 
18     return 0;
19 }
20 
21 void max_min(int n, int number[10000], int *max, int *min)
22 {
23     *max = number[0];
24     *min = number[0];
25     for(int i = 0; i < n; i ++)
26     {
27         if(*max < number[i])
28             *max = number[i];
29 
30         if(*min > number[i])
31             *min = number[i];
32 
33     }
34 }

设计思路

 

 

本题调试过程碰到问题及解决办法

 在操作指针时,容易发生越界情况,需要代码百分之百严谨

学习时间

大概花费了2小时10分钟左右的时间完成作业

posted @ 2019-06-26 22:32  harsonyoung  阅读(142)  评论(0)    收藏  举报