第一次作业

题目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
代码列表

posted on 2018-03-24 11:23  江北宋天霸  阅读(157)  评论(8编辑  收藏  举报