小白问: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 );
}
}