1244 - C语言10.14

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

输入3个整数,按从小到大的顺序输出。要求使用指针的方法进行处理。

题目输入

3个用空格隔开的整数。

题目输出

按从小到大的顺序输出这3个整数,用空格隔开。

请注意行尾输出换行。

输入/输出样例

输入格式

25 39 16

输出格式

16 25 39

C语言解答

#include<stdio.h>
void fun(int *p, int *q,int *r)
{
	int x,y,z;
	x=*p<*q?*p:*q;
	x=x<*r?x:*r;
	z=*p>*q?*p:*q;
	z=z>*r?z:*r;
	y=*p+*q+*r-x-z;
	printf("%d %d %d\n",x,y,z);

}
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	fun(&a,&b,&c);
	return 0;
}

C++解答

#include <stdio.h>
int main() {
	int *pa, *pb, *pc, *t;
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	pa = &a; pb = &b; pc = &c;
	if (*pa > *pb) {
		t = pa; pa = pb; pb = t;
	}
	if (*pa > *pc) {
		t = pa; pa = pc; pc = t;
	}
	if (*pb > *pc) {
		t = pb; pb = pc; pc = t;
	}
	printf("%d %d %d\n", *pa, *pb, *pc);
	return 0;
}

Java解答



import java.util.Arrays;
import java.util.Scanner;

public class Main{
   private static Scanner s = new Scanner(System.in) ;
   
   public static void main(String[] args) {
	   int a = s.nextInt(); 
	   int b = s.nextInt(); 
	   int c = s.nextInt(); 
	   int x[] = new int[3] ;
	   x[0] = a ; 
	   x[1] = b ; 
	   x[2] = c ; 
	   Arrays.sort(x);
	   System.out.println(x[0]+" "+x[1]+" "+x[2]);
   }
}

Python解答

a,b,c=sorted([int(i) for i in raw_input().split()])
print "%d %d %d"%(a,b,c)