这个作业属于哪个课程 | C语言程序设计2 |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2888 |
我的课程目标 | 运用指针 |
这个作业在哪个具体方面帮助我实现目标 | 用指针解决问题 |
参考文献 | https://wenku.baidu.com/view/f4ea4338bf23482fb4daa58da0116c175f0e1ec5.html |
第一题
6-1 求两数平方根之和 (10 分)
函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。
(2)代码
double fun (double *a, double *b)
{
double sum;
sum=sqrt(*a)+sqrt(*b);
return sum;
}
思路
(4)运行结果截图
(3)本题调试过程中碰到问题及解决方法
本题比较简单,调试过程中没有遇到任何问题
第二题
7-1 利用指针返回多个函数值 (30 分)
读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。
代码
#include<stdio.h>
#include<string.h>
void max_min(int *max,int *min);
int main()
{
int max,min;
max_min(&max,&min);
printf("max = %d
min = %d",max,min);
return 0;
}
void max_min(int *max,int *min)
{
int i,n;
int a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
*max=*min=a[0];
for(i=1;i<n;i++)
{
if(*max<a[i])
*max=a[i];
if(*min>a[i])
*min=a[i];
}
}
思路
(3)本题调试过程中碰到问题及解决方法
原先在主函数中输入
这样怎用都显示错误
后来我直接在主函数中输入和判断就行了
(4)运行结果截图
预习题
6-3 最小数放前最大数放后 (10 分)
为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素
代码
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,max,min;
int x,y,z;
max=arr[0];
min=arr[0];
for(i=1;i<n;i++){
if(max<arr[i]){
max = arr[i];
x = i;
}
if(min>arr[i]){
min= arr[i];
y=i;
}
}
z=arr[0];
arr[0]=arr[y];
arr[y]=z;
z=arr[n-1];
arr[n-1]=arr[x];
arr[x]=z;
}
void output(int *arr,int n)
{
int i;
for(i = 0;i < n; i++)
printf("%3d", arr[i]);
}
思路
这个题写过,就是改为用指针了
学习进度条
周/日期 | 这周所花时间 | 代码行数 | 学到知识点 | 目前比较迷惑的问题 |
---|---|---|---|---|
4/1-4/5 | 一下午 | 67 | 指针和函数 | 指针的运用 |
5学习感悟
地址和指针是计算机中的两个重要概念,在程序运行过程中,变量或者程序代码被储存在以字节为单位组织的存储器中。在C语言中,如果定义了一个变量,在编译时就会根据该变量的类型给它分配相应大小的内存单元。指针声明符在定义指针时被使用,说明被定义的那个变量是指针。定义多个指针变量时,每一个指针变量前面都必须加上。
六、结对编程感想
有学习的氛围对我的学习有很大的帮助,在一写问题上也可以互相讨论