#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'。
我去打字得挺多,你选我吧我告诉你!
输入数字abc
判断框a>b?是则判断c>b?是则b最小输出b,判断框a>c?是则输出c,输出a
第一个判断框为否则判断c>a?后同理输出
第二个判断框为否时输出c,输出b,输出a,其他同理输出
任意的三个数吗?可以相同吗?有相同情况说起来好复杂
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)
三个数 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