第一次作业
题目6-1 计算两数的和与差
1 设计思路;分别定义两个数与和差。分别用指针代表和与差的指向,将两个数代入计算。
(1)主要描述题目算法 和;两数之和。差;两数之差。
(2)流程图
无
2.实验代码
void sum_diff( float op1, float op2, float *psum, float *pdiff )
{
*psum=op1+op2;
*pdiff=op1-op2;
}
3.本题调试过程碰到问题及解决办法
没什么问题
题目6-2 拆分实数的整数与小数部分
1 设计思路;定义小数与整数部分的指针,对实数x进行计算
(1)主要描述题目算法;整数部分;x/1,小数部分; x - 整数指针。
(2)流程图
无
2.实验代码
void splitfloat( float x, int *intpart, float *fracpart )
{
*intpart=x/1;
*fracpart=x-*intpart;
}
3.本题调试过程碰到问题及解决办法
没什么问题
6-1在数组中查找指定元素
1,设计思路
for循环遍历数组
list[i]等于指定元素x,返回i值
否则返回-1
2流程图
3实验代码
int search( int list[], int n, int x )
{
int i;
for(i=0;i<n;i++)
{
if(list[i]==x)
{
return i;
}
}
return -1;
}
4问题 无
6-2求最大值及下标
1,算法
定义max初值为0 .for循环遍历数组,如果max小于a[i],max等于a[i],*b等于i
循环结束后,返回max
2 ,流程图
3,代码
int fun(int *a,int *b,int n)
{
int i;
int max=0;
for(i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
*b=i;
}
}
return max;
}
4,问题
无
6-1最小数放前,最大数放后
1,算法
找出最大值最小值与第一个数和最后一个数交换
2,流程图
3,代码
4,问题;我只会怎么求最大值,其他的不会
6-2指针选择排序法
1,算法
遍历数组,找出最大值,与第一个元素交换
再从第二个元素遍历数组,找出最大值,与第二个元素交换,直到倒数第二个元素开始遍历数组,找出最大值,与倒数第二个元素素交换
输出数组
2,流程图
3,代码
void sort(int *x,int n)
{
int max,m,i,j,t;
for(i=0;i<n-1;i++)
{
max=x[i],m=i;
for(j=i+1;j<n;j++)
{
if(max<x[j])
{
max=x[j];
m=j;
}
}
t=x[m];x[m]=x[i];x[i]=t;
}
}
4,问题
无
6-1判断回文字符串
回文是啥(这题我不会)
6-2使用函数实现字符串部分复制
好难
学习总结
这两周学习了指针的运用,复习了排序法,和求最大值最小值,交换,字符串。判断回文字符串和使用函数实现字符串部分复制
,我不太会做。
点评网址;http://www.cnblogs.com/Vinecy/p/8619059.html
http://www.cnblogs.com/wwb986187/p/8635502.html
http://www.cnblogs.com/moxiaoshuai/p/8633373.html
代码列表