小白问:C语言怎么输入任意三个数,按从大到小排序,并输出最大值和最小值
怎么写“输入任意三个数,按从大到小输出,并输出最大值和最小值。”(大一才开学的新生
#include <stdio.h> int getMax(int a, int b, int c) { int ret = a; if (b > ret) ret = b; if (c > ret) ret = c; return ret; } int getMin(int a, int b, int c) { int ret = a; if (b < ret) ret = b; if (c < ret) ret = c; return ret; } int main () { int a, b, c; scanf("%d %d %d", &a, &b, &c); printf("The max is %d\n", getMax(a, b, c)); printf("The min is %d\n", getMin(a, b, c)); return 0; }
#include <stdio.h> void 如果x小于y则交换两者的值( int* px, int* py ) { if( *px < *py ) { int tmp = *px; *px = *py; *py = tmp; } } int main( void ) { int a, b, c; scanf( "%d%d%d", &a, &b, &c ); 如果x小于y则交换两者的值( &a, &b ); 如果x小于y则交换两者的值( &b, &c ); 如果x小于y则交换两者的值( &a, &b ); printf( "从大到小排序结果: { %d, %d, %d }\n", a, b, c ); printf( "最大值: %d\n", a ); printf( "最小值: %d\n", b ); }
#include <stdio.h> int main( void ) { int a, b, c; scanf( "%d%d%d", &a, &b, &c ); if( a < b ) { if( b < c ) printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", c, b, a, c, a ); else if( c < a ) printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", b, a, c, b, c ); else printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", b, c, a, b, a ); } else { if( a < c ) printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", c, a, b, c, b ); else if( c < b ) printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", a, b, c, a, c ); else printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", a, c, b, a, b ); } }