C高级第一次作业附加

Posted 1204113692yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C高级第一次作业附加相关的知识,希望对你有一定的参考价值。

之前的作业链接:http://www.cnblogs.com/1204113692yang/p/8625650.html
过去两周学习了指针的概念、指针变量的定义、指针的基本运算、指针操作改变主调函数的变量值、指针操作常规数组、指针操作字符数组等知识点。但是呢,无论是从上学期还是这学期,对于数组来说,还是一知半解的状态,一到数组,就听不懂了,凡是遇到数组的,即使是之前会的,也变得不会了,整的最近也是茫茫然。。。

代码托管Gitee平台:https://gitee.com/yangjinkuncharley/daily_pta/tree/master

评论同学的链接:http://www.cnblogs.com/Vinecy/p/8619059.html
http://www.cnblogs.com/Lixinhua18/p/8569649.html
http://www.cnblogs.com/X-JY/p/8619229.html

题目6-1 最小数放前最大数放后
1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。最小的数与第一个数对换,将最大的数与最后一个数对换。引用void input(int arr,int n);
void max_min(int
arr,int n);
void output(int *arr,int n);
第二步:定义出各个函数所需求的变量。
第三步:遍历数组,该交换的交换,该输出的输出。
2.实验代码

void input(int *arr,int n)
{
    int i = 0;
    for(i = 0;i < n;i++)
    {
        scanf("%d",arr+i);
    }
}
void max_min(int *arr,int n)
{
    int i = 0, max = *arr, min = *arr, t = 0, indexmax = 0,indexmin = 0;
    for(i = 0;i < n;i++)
    {
        if(*(arr+i)>max){
            max = *(arr+i);
            indexmax = i;
        }
        if(*(arr+i)<min){
            min = *(arr+i);
            indexmin = i;
        }
    }
    t = *(arr+n-1);
    *(arr+n-1)=max;
    *(arr+indexmax) = t;
    t = *arr;
    *arr=min;
    *(arr+indexmin) = t;
}
void output(int *arr,int n)
{
    int i;
    for(i = 0;i < n;i++)
    {
        printf(" %d ",*(arr+i));
    }
}

3.流程图
技术分享图片

4.实验结果
看的辛静瑶的,自己研究了一部分,拆开还可以,合并就不行了。

题目6-2 指针选择法排序
1.设计思路
(1) 主要描述题目算法

第一步:阅读题目,明确题目要求。对10个数进行由大到小的排序。引用void sort(int *x,int n);
第二步:通过指针选择排序法的模板对题目进行适当的调整;
第三步:代入所要求的数据进行检验。
2.实验代码

void sort(int *x,int n)
{
    int *p,i,*j,*k,t;
    for(k=x;k<x+9;k++)
    {
        p=k;
        for(j=p+1;j<x+10;j++)
        {
            if(*p>*j)
            {
                p=j;
                t=*k;
                *k=*p;
                *p=t;
            }
        }
    }
}

3.流程图
4.调试结果
技术分享图片
不知道哪里出错了

表格
技术分享图片






















以上是关于C高级第一次作业附加的主要内容,如果未能解决你的问题,请参考以下文章

C高级第一次PTA作业 要求三

C高级第一次作业 函数题第二题

C高级第一次作业 函数题第三题

C高级地一次作业 函数题第一题

C高级地一次作业 编程题第一题

《高级软件测试》实践作业3学习记录12月16日