设计一个算法,将任意输入的3个数按从小到大的顺序输出。

2025年03月22日 22:30
有5个网友回答
网友(1):

#include  

int main(){ 

int a[3]; 

int * p,i,j,t; 

printf("please input three numbers:\n"); 

for(i=0;i<3;i++) 

scanf("%d",&a[i]); 

for(j=0;j<2;j++){

for(i=0;i<2-j;i++){ 

if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} 

for(p=a;p<(a+3);p++) 

printf("%d ",* p); 

printf("\n"); 

}

扩展资料:

scanf函数用法:

scanf("输入控制符",输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

网友(2):

我去打字得挺多,你选我吧我告诉你!

输入数字abc

判断框a>b?是则判断c>b?是则b最小输出b,判断框a>c?是则输出c,输出a

第一个判断框为否则判断c>a?后同理输出

第二个判断框为否时输出c,输出b,输出a,其他同理输出

任意的三个数吗?可以相同吗?有相同情况说起来好复杂

网友(3):

网友(4):

dim a(i)
for 3
a(i)= Application.InputBox("Enter a number")
nexr i

for i=1 to n-1
for j=i+1 to n
if a(i)>a(j) then
t=a(i)
a(i)=a(j)
a(j)=t
end if
next j
text1=text1&str(a(i)&" "
next i
text1=text1&str(a(i)&" "
print a(i)

网友(5):

三个数 a b c
最小数:(a+b-|a-b|)/2=d,(d+c-|d-c|)/2=e,则e最小值
最大数:(a+b+|a-b|)/2=f,(f+c+|f-c|)/2=h,则h最大值
中间数:a+b+c-e-h