一. 6-1.1 1.设计思路
(1)调用函数,输出用op1、op2表示的和差关系。
2.实验代码
void sum_diff( float op1, float op2, float *psum, float *pdiff )
{
*psum = op1 + op2;
*pdiff= op1 - op2;
return 0;
}
3.
6-1.2 1.设计思路
(1)调用函数,用int输出整数部分,再用x减去整数部分然后输出小数部分。
2.实验代码
void splitfloat( float x, int *intpart, float *fracpart )
{
*intpart = (int)x;
*fracpart = (x-*intpart);
return 0;
}
3.
6-2.1 1.设计思路
(1) 第一步:通过for循环将数进行判断。
第二布:数组有要找的元素,返回此元素的下标,否则返回-1.
(2)流程图
2.实验代码
int search(int list[],int n,int x)
{
for(int *i=list;i<list+n;i++)
{
if(*i==x)
return i-list;
}
return -1;
}
3.
6-2.2
(1)设计思路
第一步:调用函数,使*a传递给max。
第二部:引用for循环,将每个元素进行判断,找出最大值并求出其下标。
(2)流程图
2.
int fun(int *a,int *b,int n)
{
int i;
for(i=0;i<n;i++)
{
if(a[*b]<a[i])
{
*b=i;
}
}
return a[*b];
}
3.
错误信息1:
错误原因:函数中括号弄反
改正方法:仔细查看并修改
错误信息2:
错误原因:没有将a的地址定义给max。
改正方法:经过对题与程序样例的分析,几次实验,定义max。
6-3. 这一节的pta我没有注意时间,拖了一下忘了截止的时间,结果作业结束了。很尴尬这节作业就这么没分了,以后的作业我一定会尽早做完,尽量务实。这节作业只能在这里跟老师承认一下了。😥
6-4.1
1设计思路:
(1)第一步:定义字符数组s[20],赋值给s。
第二步:调用函数palindrome,判断字符数组第a个元素和其它元素是否相等,如果不相等返回false,相等返回true。
(2)
2.实验代码
bool palindrome( char *s )
{
int i=0,b=0;
for(;s[i]!='\0';i++)
b++;
for(i=0;i<=(b/2);i++)
{
if(s[i]!=s[b-i-1])
return 0;
}
return true;
}
3.
错误信息1
错误原因:忘记for语句中的格式,没有在语句中定义初始值。
改正方法:通过询问,查找教材明白问题出在哪里。
错误信息2:
错误原因:return的输出格式不对。
解决方法:试了两次,又复制到别处才发现格式不对。
6-4.2
1.(1) 这道题我自己没做出来,没有思路,最终找刘炜旗帮助我才把这道题做出来,不过对于这道题还是很模糊,希望老师能够在课上讲解一下这道题。
(2)
2
void strmcpy( char *t, int m, char *s )
{
*s=NULL;
int i,n=1;
for(i=0;*(t+i)!='\0';i++)
n++;
if(m>=n)
*s=NULL;
else
{
for(i=m-1;i<=n-1;i++)
s[i-m+1]=t[i];
}
}
三.
1.新学的知识中,我对于刚开始学的地址和指针的理解还是可以的,对于指针变量的引用学的也是可以的。对于后边的指针与数组与字符串和指针的可以理解,但是一应用就有很多不会的问题,可能还是没有完全把指针的用到之前学的东西上来。对于后边指针的应用还是很模糊,希望老师讲完后能在统一的复习一下。
2.丰大为:http://www.cnblogs.com/DavidPark/p/8551402.html
刘炜旗:http://www.cnblogs.com/ryo-/p/8644256.html
王姝雯:http://www.cnblogs.com/phsudie/p/8590614.html