问答

为什么不能实现所需要的功能????

作者:admin 2021-05-06 我要评论

//输入a、b、c三个整数,按先大后小的顺序输出a、b和c。注意请使用指针变量的方式进行比较和输出 //1.准备用冒泡排序的方式来进行比较排序 //2.用指针变量的方式...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

//输入a、b、c三个整数,按先大后小的顺序输出a、b和c。注意请使用指针变量的方式进行比较和输出
//1.准备用冒泡排序的方式来进行比较排序
//2.用指针变量的方式进行比较和输出
//3.将交换的方式用函数来实现

include<stdio.h>

void swap(int p1,int p2) //这里传入的是一个副本,是一个单项性的值传递,所以可以使用两种方法1.引用 2.指针的方式
{

int temp=*p1;
*p1=*p2;
*p2=temp;

}

void rank(int p1,int p2,int* p3)
{

int a[3]={0};
a[0]=*p1;
a[1]=*p2;
a[2]=*p3;
for(int i=0;i<3;i++)
    for(int j=0;j<3-i;j++)
    {
        if(a[j]<a[j+1])
        {
            int* p1=&a[j];
            int* p2=&a[j+1];
            swap(&a[j],&a[j+1]);
        }
    }

    for(int m=0;m<3;m++)
    {
        printf("%d\n",a[m]);
    }

}

int main(){

int a[3]={0};
printf("请输入三个整数");
for(int i=0;i<3;i++)
{
    scanf("%d",&a[i]);
}
int* p1=&a[0];
int* p2=&a[1];
int* p3=&a[2];
rank(p1,p2,p3);
return 0;

}

###

你这个

for(int m=0;m<3;m++)
{
    printf("%dn",a[m]);
}

应该写到外面吧,等排完序再输出结果

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 为什么不能实现所需要的功能????

    为什么不能实现所需要的功能????

  • vue如何给表格添加一条数据

    vue如何给表格添加一条数据

  • 移动端echarts如何实现长按某图形显示

    移动端echarts如何实现长按某图形显示

  • 数组展平的问题

    数组展平的问题

腾讯云代理商
海外云服务器