C++语言编程:输入三个数,从小到大输出。
思路可以这样考虑:在定义好这些数据(包括要输入的三个数据a,b,c和三个需要重新排序输出的三个数据,min,middle,max)之后,可以依次比较a,b,c
的大小,将较大者依从小到大的顺序赋值给min,middle,max,在依次输出min,middle,max,即可!重点是:在比较a,b,c的时候赋值给min,middle,max流程图是:
程序的具体代码:#includeusing
namespace
std;int
main(){
double
a,b,c,min,middle,max;
cin>>a>>b>>c;
if(a<b)
{
max=b;
middle=a;
}
else
{
max=a;middle=b;
}
if(middle>c)
min=c;
else
{
int
t;
if(max>c){
t=c;c=middle;middle=t;
}
else{
t=c;middle=max;max=c;
}
min=c;
}
cout<<min<<''<<middle<<''<<max<<endl;
return
0;}在VC6.0;里验证如下:
#include //头文件using namespace std; void swap(int *p1,int *p2); //用于交换2个变量的功能函数int main(){ int n1,n2,n3; int *p1,*p2,*p3; cout>n1>>n2>>n3; p1=&n1; p2=&n2; p3=&n3; if(n1>n2) swap(p1,p2); if(n1>n3) swap(p1,p3); if(n2>n3) swap(p2,p3); cout<<"排序后结果为:"<<n1<<" "<<n2<<" "<<n3<<endl; return 0; } void swap(int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; }
#include <stdio.h>
int min(int m,int n) { return((m > n) ? n : m); }
int main() {
int a,b,c;
printf("请输入三个整数(逗号隔开): ");
scanf("%d,%d,%d",&a,&b,&c);
if(a > b) {
if(b > c) printf("%d %d %d
",c,b,a);
else if(a > c) printf("%d %d %d
",b,c,a);
else printf("%d %d %d
",b,a,c);
}
else if(c > b) printf("%d %d %d
",a,b,c);
else if(a > c) printf("%d %d %d
",c,a,b);
else printf("%d %d %d
",a,c,b);
return 0;
}
#include<iostream>
using namespace std;
int main()//定义主程序函数
{
int a,b,c,t;//定义四个整型变量,a,b,c分别是输入的三个数字,t为交换时所需的临时变量
cin>>a>>b>>c;//依次读取a,b,c
if(a>b){t=a;a=b;b=t;}//如果a比b大,交换a和b
if(a>c){t=a;a=c;c=t;}//如果a比c大,交换a和c
if(b>c){t=b;b=c;c=t;}//如果b比c大,交换b和c
cout<<a<<b<<c;//依次输入排序后的a,b,c
return 0;//返回0,结束
}
————————————————————————
以下是模拟样例说明:
输入:2 3 1
当前:a=2,b=3,c=1
判断:a>b是否为真,当前a=2,b=3,a<b,所以不执行if语句后的内容
判断:a>c是否为真,当前a=2,c=1,a>b,所以执行if语句后的内容,交换a和c,当前:a=1,b=3,c=2
判断:b>c是否为真,当前b=3,c=2,b>c,所以执行if语句后的内容,交换b和c,当前:a=1,b=2,c=3
依次输出a,b,c,分别为1,2,3
输出结果:1 2 3
结束
template<class T> T g(T a, T b)
{
if(a>b)
else return a;
}
void main()
{
int a,b,c;
cin>>a>>b>>c;
while(a==b||a==c||b==c) //判断是否有输入相等的数。
if(g(g(a,b),c)==a) //首先判断最小数是否是变量a
{ if(g(b,c)==b) //如果最小数是a,则再判断最小数是否是b,如果是就知道从小到到顺序为abc了
else //否则,从小到大的顺序就为acb
}
if(g(g(a,b),c)==b) //与上一个if原理类似
else
}
if(g(g(a,b),c)==c)
else
}
system("pause");
}
#include <stdio.h>
void exchange(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y) exchange(&x,&y);
if(y>z) exchange(&y,&z);
if(x>y) exchange(&x,&y);
printf("x=%d y=%d z=%d\n",x,y,z);
return 0;
}
int num[3]={3,2,1};
for(int i=0;i<2;i++)
for(int j=i+1;j<3;j++)
if(num[i]>num[j]) {int temp=num[i];num[i]=num[j];num[j]=temp;}
for(int i=0;i<3;i++)
cout<<num[i]<<" ";
cout<<endl;
.题目:输入三个整数x,y,z,请把这三个数由小到大输出。 用C语言编程出 ...
include <stdio.h> define N 3 void main(){ int a[N],x;printf("Please input three numbers:\\n");for(int i=0; i<N; i++){ scanf("%d",a+i);} printf("\\n");for(i=0;i<=N-1;i++){ int k=i;for (int j=i+1;j<=N;j++){ if (a[j]<a[k]) k=j;} x=...
用C语言做,输入三个整数x,y,z,请把这三个数由小到大输出
include<stdio.h> int main(){ int i,j;int temp;int a[3];for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=0;i<2;i++)for(j=i;j<3;j++)if(a[i]>a[j]) \/\/ 这里是从小到达排序 如果需要降序排只要把大于号改成小于号!{ temp=a[i];a[i]=a[j];a[j]=temp;...
c语言编程题:输入三个整数,从大到小排序,并输出这三个数?
printf("%d>%d>%d";,&a[i]);i<3;i++){ p[i]=&a[i];scanf("j<3;j++){ if(*p[i]<,*p[0],*p[1],*p[2])C语言编程,顾名思义,就是用C语言来进行计算机编程工作。C语言是国际上广泛流行的,很有发展前途的计算机高级语言.它适合作为系统描述语言,即可用来编写系统软件,也可用来...
输入三个整数x,y,z,请把这三个数由小到大输出:用JAVA语言编程
题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main(){ int x,y,z,t;scanf("%d%d%d",&x...
输入3个数a、b、c,要求按从小到大的顺序输出 ,用C语言写
include<stdio.h> void pai(){int i,j,t;for(i=0;i<3;i++)for(j=i+1;j<2;j++)if(a[i]>a[j]){t=a[j];a[j]=a[i];a[i]=a[j];}}。main(){int a[3],i;for(i=0;i<3;i++)scanf("%d",&a[i]);pai();for(i=0;i<3;i++)printf("%d",a[i]);}。
用指针编写C语言程序输入a,b,c三个数按从小到大顺序输出的流程图_百度...
for(int i=0;i<3;i++)\/\/键盘接收数据 { printf("第%d个数:",i+1);scanf("%f",p++);} for(i=0;i<2;i++)\/\/冒泡法排序 { p=x;for(int j=0;j<2-i;j++,p++)if(*p>*(p+1)){ float t=*p;p=*(p+1);(p+1)=t;} } printf("这三个数从小到大为\\n");p=x...
C语言输入3个整数,按从小到大的顺序输出.
i++ ) for ( j=i+1;j<x;j++ ) if ( b[i]>b[j] ) { MAX=b[i];b[i]=b[j];b[j]=MAX; }}int main() { int a[3],i; for ( i=0;i<3;i++ ) { printf("请输入第%d个数:",i+1); scanf("%d",&a[i]); } c(a,3); for ( i=0;...
c语言编程 3个数从大到小排序
void main(){ int a,b,c,t;while(1){ scanf("%d%d%d",&a,&b,&c);if(a==9&&b==9&&c==9)break;if(a<b){ t=a;a=b;b=t;} if(a<c){ t=a;a=c;c=t;} if(b<c){ t=b;b=c;c=t;} printf("%d%d%d",a,b,c);} } 没有错啊,你输入的时候在不同的数中间打...
用C语言编程:输入x,y,z三个数,实现从小到大次序显示
1 输入时三个数间逗号分隔 include <stdio.h> void swc(int *x,int *y){int t;t=*y;*y=*x;*x=t;} main(){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if(x>y) swc(&x,&y);if(x>z) swc(&x,&z);if(y>z) swc(&y,&z);printf("\\n%d\\n%d\\n%d",x,y,z);...
c语言编程: 输入三个任意整数,将这三个数按由小到大排序后输出。
做一题好了,(04)主要代码 int i,t,n=0;\/\/n表示几位数,i为给定的整数。scanf("%d",&i);do { t=i%10;printf("%d",t);n++;i=i\/10;}while(i!=0)