本次作业所属课程 |
C语言程序设计|| |
本次作业要求 |
|
我在这个课程的目标是 |
学会熟练使用指针 |
本次学习在哪些具体方面帮组我实现目标 |
学会画流程图 |
参考文献 |
C primer plus第六版 |
一、基础题
题目一:求两数平方根之和
1)实验代码
#include<stdio.h> #include <math.h> double fun (double *a, double *b); int main (void ) { double a, b, y; scanf ("%lf%lf", &a, &b ); y=fun(&a, &b); printf ("y=%.2f ", y );
return 0; }
double fun (double *a, double *b) { double t ; t=sqrt(*a)+sqrt(*b); return t; }
2)设计思路
3)本题调试过程中遇到的问题及解决方案
这个题目一遍过了,难度不大
4)运行结果截图
题目二:利用指针返回多个函数值
1)实验代码
#include<stdio.h> int max_min(int *a,int *b,int str[],int n); int main(void) { int n,str[10000],i,max,min;
scanf("%d",&n);
for(i=0;i<n;i++) { scanf("%d",&str[i]); } max_min(&max,&min,str,n);
printf("max = %d ",max); printf("min = %d",min);
return 0; }
int max_min(int *a,int *b,int str[],int n) { int i,temp=0;
for(i=1;i<n;i++) { if(str[temp]>str[i]) temp=i; } *b=str[temp]; temp=0;
for(i=1;i<n;i++) { if(str[temp]<str[i]) temp=i; } *a=str[temp]; }
2)设计思路
3)本题调试过程中遇到的问题及解决方案
这个题目问题不是特别大,在函数定义那里出了点小问题,换一个新的一个数组名就解决了
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,j,temp; for(i=1;i<n;i++) { if(arr[i]>arr[temp]) temp=i; } j=arr[n-1]; arr[n-1]=arr[temp]; arr[temp]=j; temp=0; for(i=1;i<n;i++) { if(arr[i]<arr[temp]) temp=i; } j=arr[0]; arr[0]=arr[temp]; arr[temp]=j; } void output(int *arr,int n) { int i; for(i=0;i<n;i++) { printf("%3d",arr[i]); } }
2)设计思路
3)本题调试过程中遇到的问题及解决方案
这次的指针我是真的没怎么搞懂,指针的调用和声明那块概念特别模糊
4)运行结果截图
四、思考题
1)为什么要使用指针?它有什么用?
我认为使用指针的目的在于它可以让我们间接的访问各种数据,可以减少我们的代码和工作量
2)指针变量在内存中暂用多大的空间?它的大小由什么决定?
我认为指针变量在内存中所占的空间应该由它的数据类型决定,大小应该是由多个因素共同决定的
五、学习进度条
时间 |
这周所花时间 |
代码行数 |
学到的知识简介 |
目前比较迷惑的问题 |
第一周 |
5小时 |
80 |
初步了解数组 |
数组的引用 |
第二周 |
6小时 |
200 |
指针的了解 |
完全没听懂老师上课在讲什么,继续努力 |
第三周 |
7小时 |
200 |
文件与数组的使用 |
没看到代码运行后文件的内容发生改变 |
第四周 |
9小时 |
120 |
冒泡法,选择排序法 |
冒泡法不会 |
第五周 |
9小时 |
120+ |
字符型数组 |
把代码改成文件格式 |
第六周 |
4小时 |
130左右 |
指针 |
指针的调用 |
六、累积代码行数和博客字数
七、结对编程感想
对于这次的结对编程,我感觉到了一些优缺点,假如两个人的实力差距过大,那么势必会导致两个人的效率都降低。还有我认为结对编程时不应该大声说话,声音能够让队友听见就行,而现状我们班的声音是整个楼层中最吵的,这不是我认为的结对编程
总结:总的来说,感觉这次老师真的放水了,题目难度设置的比上周的低多了,谢谢琛姐的良苦用心