2019春第六周作业
这个作业属于哪个课程 | c语言程序设计II | |
这个作业要求在哪里 | (https://www.cnblogs.com/pengchen511/p/10564067.html) | |
我在这个课程的目标是 | 掌握指针的使用方法 | |
|
学会指针的运用 | |
参考文献 | c语言程序设计II指针,函数 |
一、本周完成作业
基础函数题
1.实验代码
#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; }
double fun (double *a, double *b)
{
double product;
product=sqrt(*a)+sqrt(*b);
return product;
}
2.设计思路
3.本题调试过程碰到的问题及解决办法
这个算是比较简单的自定义函数了,几行代码就解决了,没什么问题,一遍过
4.运行结果截图
基础编程题
1.实验代码
#include<stdio.h>
void max_min(int a[],int n,int *pmax,int *pmin);
int main()
{
int n,i,max,min;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
max_min(a,n,&max,&min);
printf("max = %d\nmin = %d",max,min);
return 0;
}
void max_min(int a[],int n,int *pmax,int *pmin)
{
int i,max,min;
max=a[0];
min=a[0];
for(i=0; i<n; i++)
{
if(a[i]>=max)
max=a[i];
if(a[i]<=min)
min=a[i];
}
*pmax=max;
*pmin=min;
}
2.设计思路
3.本题调试过程碰到的问题及解决办法
错误截图
之前max和min的最初赋值写成了a【1】,因为自己粗心然后造成了部分正确,然后经过自己检查后发现,第一个数应该是a【0】,然后就改过来了正确通过
4.运行结果截图
预习题
1.实验代码
#include<stdio.h>
void input(int *arr,int n);
void max_min(int *arr,int n);
void output(int *arr,int n);
int main()
{ int a[10];
input(a,10);
max_min(a,10);
output(a,10);
return 0;
}
void input(int *arr,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
}
void max_min(int *arr,int n)
{
int i,c=0,m=0,temp,max,min;
max=arr[c];
for(i=0;i<n;i++)
{
if(max<arr[i])
{
max=arr[i];
c=i;
}
}
temp=arr[c];
arr[c]=arr[n-1];
arr[n-1]=temp;
min=arr[c];
for(i=0;i<n;i++)
{
if(min>arr[i])
{
min=arr[i];
m=i;
}
}
temp=arr[m];
arr[m]=arr[0];
arr[0]=temp;
}
void output(int *arr,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%3d",arr[i]);
}
}
2.设计思路
3.本题调试过程碰到的问题及解决办法
错误截图
做的时候出了一个段错误,一直没明白到底是什么错误,也没找出来,然后换了一个思路就做出来了,果然还是不能在一棵树上吊死。还有一个就是没注意输出格式,每个元素输出占3列,之前没注意就只在%d前面留了个空格,然后还是经过别人提示才改成了%3d
4.运行结果截图
1、为什么要使用指针?它有什么用?
指针的使用比较灵活,利用指针的灵活的类型转换,指针通过传递地址提高传输速度并且节约大量内存,使用方便。
指针的作用是内存的标签,指针可以有效地表示复杂的数据结构、动态分配内存、有效的使用数组和字符串
2、指针变量在内存中暂用多大的空间?它的大小由什么决定?
指针一般占用的大小是不变的,占用4个字节
指针的大小由CPU的寻址位数决定
学习感悟
总体感觉就是难,还是比较具有挑战性的,主要还是要靠自己主动的去学,自己去请教和钻研,老师只是辅助,这样才能更好的进步。
结对编程的优缺点
优点就是2个人可以相互讨论,相互学习,学习是在讨论中进步的嘛,一起编程还可以有效减少自己的失误等等
缺点就是结对编程时间较少,搭档不熟悉等等吧