C语言输入a,b,c,和d共4个整数,按先大后小的顺序输出.用指针方法

如题所述

#include "stdio.h"
#include "string.h"

void compare(int* x,int* y);

int main()
{
    int a,b,c,d;
    scanf("%d",&a);
    scanf("%d",&b);
    scanf("%d",&c);
    scanf("%d",&d);
    
    compare(&a,&b);
    compare(&a,&c);
    compare(&a,&d);
    compare(&b,&c);
    compare(&b,&d);
    compare(&c,&d);
    
    printf("%d",a);
    printf("%d",b);
    printf("%d",c);
    printf("%d",d);
}

void compare(int* x,int* y)
{
    int temp;
    
    if(*x < *y)
    {
        temp = *y;
        *y = *x;
        *x = temp;
    }
    
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-06
#include <stdio.h>
void main(){
int a[4],*b[4];
int i=0,j,k;
for(i=0;i<4;i++){
printf("请输入第%d个数--> ",i+1);
scanf("%d",&a[i]);
b[i]=&a[i];
}
for(j=0;j<3;j++){
for(i=j;i<3;i++){
if(*b[j]<*b[i+1]){
k=*b[j];
*b[j]=*b[i+1];
*b[i+1]=k;
}
}
}
for(i=0;i<4;i++){
printf("%d\n",*b[i]);
}
}
第2个回答  2016-12-13
int *p;
p=(int *)malloc(sizeof(int)*4);追问

求具体

相似回答