sqmw


私信TA

用户名:20206805

访问量:16144

签 名:

在否定中提升自己

等  级
排  名 328
经  验 5290
参赛次数 0
文章发表 91
年  龄 19
在职情况 学生
学  校 东大
专  业 软件工程

  自我简介:

代码是大一上学期写的,格式等都不规范,请多包涵。编写的代码,有些是为了练习库函数的使用,所以看着可能比较怪或者难以理解。

解题思路:

使用简单的冒泡排序将其重新排列

注意事项:

指针引用时要注意自增的含义

参考代码:

#include<stdio.h>
#include<malloc.h>

void sort(int* p,int n);

int main()
{
    int n,*p,i = 0;
    scanf("%d", &n);
    p = (int*)malloc(sizeof(int) * n);        //申请相应大小的空间
    for (; i < n;scanf("%d",&p[i]), i++);     //integer的读入
    sort(p,n);
    i = 0;
    do
    {
        printf("%d ", *(p++));   //取的是p之前的地址所对应的值,后到下一条语句的过程中p才会自增一
                                 //指向下一个内存地址
        i++;
    } while (i < 3);
}

void sort(int* p,int n)
{
    int temp, i = 0, j = 0;
    for (; i < n ; i++)
    {
        for (j = 0; j < n - 1; j++)
        {
            if (p[j] > p[j+1])
            {
                temp = p[j];
                p[j] = p[j + 1];
                p[j + 1] = temp;
            }
        }
    }
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区