一.作业头内容
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 链接< |
我在这个课程的目标是 | 学会用指针去定义函数和灵活使用数组 |
这个作业在那个具体方面帮助我实现目标 | 指针的使用 |
参考文献 | c语言书 |
二.题目
一6-1 求两数平方根之和 (10 分)
函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。
函数接口定义: double fun (double a, double b); 其中 a和 b是用户传入的参数。函数求 a指针和b 指针所指的两个数的平方根之和,并返回和。 裁判测试程序样例:#include#include 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.941) 代码:
#include#include 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;}double fun (double *a, double *b){ double c; c=sqrt(*a)+sqrt(*b); return c;}
2)解题思路:
3)正确截图:
7-1 利用指针返回多个函数值 (30 分)
读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。
输入格式: 输入有两行: 第一行是n值; 第二行是n个数。 输出格式: 输出最大值和最小值。 输入样例: 在这里给出一组输入。例如: 5 8 9 12 0 3 输出样例: 在这里给出相应的输出。例如: max = 12 min = 01)代码:
#includevoid max_min(int *a,int n,int *max,int *min)//指针变量定义格式int *p{ for(int i=0;i *(a+i)) *min=*(a+i); }}int main(){ int a[100],n,i,max,min; scanf("%d",&n); puts("输入n个数");//puts函数输出后自动换行 for(i=0;i
2)设计思路:
3)实验截图:
1)实验代码:
void input(int *arr,int n){ int i; for(i=0;i<10;i++) scanf("%d",arr+i);}void max_min(int *arr,int n) /*寻找数组中的最小值和最大值*/ { int i,a,b ,t; /*寻找最小值*/ for(i=1;i
2)实验思路:
3)实验结果截图:
三..学习进度统计
四.思考题
- 为什么要使用指针?它有什么用?
- 对于为什么要学习指针,那肯定是因为他要学啊,后面编程用得到啊,哈哈,其实这不是唯一的所在啦,就我现在所学的来说,能够间接的找到变量所在,不需要赋值,简单方便对于一些复杂的程序来说。
- 指针变量在内存中暂用多大的空间?它的大小由什么决定?
我记得老师上课讲过是四个字节吧然后百度是这样说的,(),指针变量本身所占存储空间的大小取决于存储地址值所需的字节数
四. 学习感悟
- 1.注意注意注意 输出格式,申清楚题目 ! ! !
2.有发不知勤学早,秃头方悔读书迟。