c 语言中 比较三个数大小的程序怎么写
首先,你调用的是int类型,所以不用声明。
三元运算符比较三个数大小 三元运算符比较三个数大小js
三元运算符比较三个数大小 三元运算符比较三个数大小js
三元运算符比较三个数大小 三元运算符比较三个数大小js
三元运算符比较三个数大小 三元运算符比较三个数大小js
其次,我建议你搞清楚点if和else的对应关系,这样很容易弄混。你的错误应该在于:当y>x时,你的程序就直接跳到一个else那里了,所以就只有y输出。
第三,你得保证每个合法输入都有结果,所以加入大于等于号。
下面给出我的程序(虽然也没有考虑等于)%dn",x,y,z);:
int main()
{int a,b,c;
printf("max is %dn",(b>a||c>a)?((b>c)?b:c):a);
System.out.println("中间的数:"+num[1]);}
max()没有在main中声明
C#用条件运算符比较三个数的大小?
max = (a>b)?a:b;int a = 10, b = 20, c = 5;
else if(i==j)int max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
Console.WriteLine("值为:" + max);
三个数比较大小的c语言程序
z)三个数比大小的c语言程序
}else if(i==k)输出值:
void main()
int a,b,c,Max
scanf("%d %d %d",&a,&b,&c)
if (a <= b)
Max = b
Max = a
if (Max <= c)
printf("%d",c);
含义
输入三个数(空格隔开),先比较前两个数大小,将较大的数赋值给Max,再比较Max与第三个数大小,输出较大的数。
输入三个数,判断前两个数,将的数赋值给max_ab,小的数赋值给min_ab,再将max_ab与c作比较。若c大于等于max_ab,则输出c,max_ab,min_ab,若c小于max_ab且大于min_ab,则输出max_ab,c,min_ab,若c小于min_ab,则输出max_ab,min_ab,c。
在c++程序中如何比较三个数的大小
/#include
using namespace std;
int max2(int a,int b)
{if(a>b)
return a;
else return b;
}int max(int a,int b,int c)
{return max2(max2(a,b),c);
}void main()
{int a,b,c;
cin>>a>>b>>c;
cout< } #include using namespace std; int max(int a,int b,int c) {int temp; if (a>=b) temp=a; temp=b; if(temp>=c) return temp; return c; } 参考代码: #include "stdio.h" int main() {int x,y,z,max,min; scanf("%d%d%d",&x,&y,&z); if(x>y){ max=x; min=y; }if(z>max) max=z; if(min>z) min=z; y=x+y+z-max-min; x=max; z=min; printf("从大到小排序:%d %d %d }/ 运行结果: 3 1 2 从大到小排序:3 2 1 扩展资料 利用指针变量,用函数实现将3个整数按从大到小的顺序输出。 解:程序: #include void swap(int ptr1, int ptr2) {int temp = ptr1; ptr1 = ptr2; ptr2 = temp; }void exchange(int q1, int q2,int q3) {void swap(int ptr1, int ptr2); if (q1 < q2) {swap(q1, q2); }if (q1 < q3) {swap(q1, q3); }if (q2 < q3) {swap(q2, q3); }} int main() {void exchange(int q1, int q2, int q3); int p1, p2, p3, a, b,c; printf("please enter three integer numbers:"); p1 = &a; p2 = &b; p3 = &c; exchange(p1, p2, p3); printf("The order is:%d,%d,%d return 0; }结果: please enter three integer numbers:7,-9,666 The order is:666,7,-9 请按任意键继续. . . 问题:输入三个数x,y,z,把其中的值赋值给x,中间赋值给y,最小值赋值给z。 参考代码: #include "stdio.h" int main() {int x,y,z,max,min; scanf("%d%d%d",&x,&y,&z); if(x>y){ max=x; min=y; }if(z>max) max=z; if(min>z) min=z; y=x+y+z-max-min; x=max; z=min; printf("从大到小排序:%d %d %d ",x,y,z); }/ 运行结果: 3 1 2 从大到小排序:3 2 1 路过这里,看了下,反正正好闲着,我也临时写下,并且编译一下,准确无误,每个必要的代码处我都加了解释,想必阁下是可以看懂的。希望对你有所帮助。 ----------^--------------------------------^--------------------------------- #include void sort(int array[],int n); void main(){ int num[100]; int i; int n=3;//其实如果你这里n不定义大小,再修改下代码可以比较N个数了。 printf("请输入三个整数(将会按照从大到小的顺序输出): n"); //输入三个数字 for(i=0;i scanf("%d",&num[i]); sort(num,n); printf("按照从大到小的顺序输出: n"); //输出排序后的数字 for(i=0;i printf("%d t",num[i]); }printf("n"); }void sort(int array[],int n){ int i,j;// 定义用于For循环用的 int replace,swap;//定义用来调用i和交换数字的变量 / 下面的有点繁杂,其实稍微看下,就是用来从遍历数组中的数字(通过For循环来遍历), 从中随便选取两个数字,然后比较,如果前一个数字小于后一个数字,则通过变量swap 交换出来。 //个For用来在数组中遍历n-1个数字 for(i=1;i replace=i; //第二个For用来在数组中遍历n-1前面的数字 for(j=i-1;j if(array[j] }if(replace!=i){ swap=array[i]; array[i]=array[replace]; array[replace]=swap; }} }} ----------^--------------------------------^--------------------------------- 经过Bcc5.5编译器编译,得出: ----------^--------------------------------^--------------------------------- 请输入三个整数(将会按照从大到小的顺序输出): 20 40 30 按照从大到小的顺序输出: 40 30 20 请按任意键继续. . . ----------^--------------------------------^--------------------------------- t=a;a=b;b=t; }if(b t=b;b=c;c=t; 三种方法,后两种适合3个数以上的情况 main() {int a, b, c; scanf("%d%d%d", &a, &b,&c); if(a {a=a+b; b=a-b; a=a-b; }if(a {a=a+c; c=a-c; a=a-c; }if(b {b=b+c; }printf("%d %d %d",a,b,c); }起泡法对数组进行排序 main() {int a[3], i, j, t; for(i=0; i<3; i++) {scanf("%d", &a[i]); }for(i=1; i<3; i++) {for(j=0; j<3-i; j++) {if(a[j] {t=a[j];a[j]=a[j+1]; a[j+1]=t; }} }for(i=0; i<3; i++) printf("%dt", a[i]); }选择法对数组排序 main() {int a[3], i, j, k, t; for(i=0; i<3; i++) {scanf("%d", &a[i]); }for(i=0; i<3; i++) {k=i; for(j=i+1; j<3; j++) {if(a[k] }t=a[i]; a[i]=a[k]; a[k]=t; }for(i=0; i<3; i++) printf("%dt", a[i]); } 路过这里,看了下,反正正好闲着,我也临时写下,并且编译一下,准确无误,每个必要的代码处我都加了解释,想必阁下是可以看懂的。希望对你有所帮助。 ----------^--------------------------------^--------------------------------- #include void sort(int array[],int n); void main(){ num[100]; i; n=3;//其实如果你这里n不定义大小,再修改下代码可以比较N个数了。 printf("请输入三个整数(将会按照从大到小的顺序输出): n"); //输入三个数字 for(i=0;i scanf("%d",&num[i]); sort(num,n); printf("按照从大到小的顺序输出: n"); //输出排序后的数字 for(i=0;i printf("%d t",num[i]); }printf("n"); }void sort(int array[],int n){ i,j;// 定义用于For循环用的 replace,swap;//定义用来调用i和交换数字的变量 / 下面的有点繁杂,其实稍微看下,就是用来从遍历数组中的数字(通过For循环来遍历), 从中随便选取两个数字,然后比较,如果前一个数字小于后一个数字,则通过变量swap 交换出来。 //个For用来在数组中遍历n-1个数字 for(i=1;i replace=i; //第二个For用来在数组中遍历n-1前面的数字 for(j=i-1;j if(array[j] }if(replace!=i){ swap=array[i]; array[i]=array[replace]; array[replace]=swap; }} }} ----------^--------------------------------^--------------------------------- 经过Bcc5.5编译器编译,得出: ----------^--------------------------------^--------------------------------- 请输入三个整数(将会按照从大到小的顺序输出): 20 40 30 按照从大到小的顺序输出: 40 30 20 请按任意键继续. .. ----------^--------------------------------^--------------------------------- #include main() x,y,z,t; scanf("%d%d%d",&x,&y,&z); if (x {t=x;x=y;y=t;} if(x {t=z;z=x;x=t;} if(y {t=y;y=z;z=t;} printf("%d %d }扩展资料: 使用三元运算符,这个运算符会使程序进一步简化,而且看起来更加的直观。 它的一般形式如下: 表达式1? 表达式2:表达式3; ?表达式的值是由 表达式1 决定的。如果 表达式1 为真,则计算表达式2 的值,结果即为整个 ?表达式的值。如果 表达式1 为,则计算 表达式3 的值,结果即为整个 ?表达式的值。 程序如下: #include main() max; a,b,c; scanf("%d %d %d",11&a,&b,&c); max=a>b?a:b; printf("Max is %d",max); return 0; }参考资料来源:搜狗百科-C语言 main() {int a[3]; int n=0,m; int temp; for( ;n<3;n++) {scanf("%d",&a[n]); }for(n=0;n<2;n++) for(m=n+1;m<3;m++) {if(a[n]>a[n+1]) ;else {temp=a[n]; a[n]=a[n+1]; a[n+1]=temp; }} for(n=0;n<3;n++) printf("%dt",a[n]); }看样子你是刚学C语言吧 #include "stdio.h" int main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if (b>a) {t=a,a=b,b=t; {if (x>=y) return y; }void main() {int a,b,c,d,e; c=max(a,b); e=max(c,d); printf("max=%dn",e); } int max(int x,int y) {if (x>=y) return y; }void main() {int a,b,c,d,e; c=max(a,b); e=max(c,d); printf("max=%dn",e); } 指针的使用错误, 指针作为参数传递的是地址,你要想在fun函数中交换,必须是对指针里的数据作,而不是对指针本身作,所以你的就没有交换,正确的是 指针写成 p的形式。 形参的值传递是单向的,只能由实参传递给形参,你要想用指针做到他们之间的值变换,你得在main函数里也用指针,具体的你可以参考谭浩强的《C程序设计第三版》的225页。 首先呢,你fun()函数里的a,b,c都是指针,if(a 首先,穿进去的是指针,你现在这样写是在比较地址的大小,没有意义,同楼上所说加a,b,c前加; 然后,你的交换逻定义得在命令的前面辑也有问题 void fun(int a,int b,int c) {int k; if(a {k=a;a=b;b=k;} if(a {k=a;a=c;c=k;} if(b {k=b;b=c;c=k;} }应该是这样写,我调试过了,就是这样 void fun(int a,int b,int c) 改成 void fun(int &a,int &b,int &c) //按引用传值 int k;改成 int k; fun(&a,&b,&c);改成fun(a,b,c); using namespace std; void main()//如果哪位高手有更好的方法,请不吝指出,谢谢! {double a,b,c; cout<<"数字大小比较程序,输入数字a"< cin>>a; cout<<"数字大小比较程序,输入数字b"< cin>>b; cout<<"数字大小比较程序,输入数字c"< cin>>c; if (a>b && b>c) {cout<<"a>b>c"< }else if (a>b && && a>c) }else if (b>a && a>c) {cout<<"b>a>c"< }else if (b>c && c>a && b>a) {cout<<"b>c>a"< }else if (c>b && b>a) {cout<<"c>b>a"< }else if (c>a && a>b && c>b) {cout<<"c>a>b"< }else {cout<<"出现异常!输入了两个相同的数字!"< }cin>>a;//这里本来不需要再输入,这句语句是防止控制台输出结果后迅速关闭。 } 这个是以前练习三目运算符写的,不用考虑算法吧 # include int main() {float a,b,c,m,n,l,k,j,i;//定义单精度浮点型变量 printf("请输入三个数,中间用空格隔开: scanf("%f %f %f",&a,&b,&c);//输入三个数 m = a > b ? a : c;//先让a,b进行比较,较大者带入m n = b > c ? b : c;//再让b,c比较,较大者带入n l = m > n ? m : n;//让a,b中的较大者与b,c中的较大者比较,l即为a,b,c中的较大者 k = a < b ? a : b; j = b < c ? b : c; i = k < j ? k : j; if (a > i && a < l)//如果a大于最小的,小于的,因为只有三个数,所以a是中间值,输出l,a,i {printf("%f %f %f ",l,a,i); }else if(b > i && b < l)//同上 {printf("%f %f %f",l,b,i); }else//同上 }return 0; } 楼主加头文件了吗 #include 或者就是楼主输入的数据不符合规范 比如说: 4,5,6 回车 中间用逗号隔开 下面是我在vc6中的代码 #include "stdafx.h" #include "stdio.h" void main() {int a,b,c; int max; if(b>max) max=b; if(c>max) max=c; printf("max=%dn",max); }输入 4,5,6 然后回车 输出为max=6 没错啊。 你是不是忘加 #include "stdio.h"了。 int max;要放到 int a,b,c;的后面。正确如下: main() {int a,b,c; int max; scanf("%d%d%d",&a,&b,&c); if(b>max); max=b; if(c>max); max=c; printf("max=%dn",max); } void main() {int a,b,c;int max; if(b>max) max=b; if(c>max) max=c; printf("max=%dn",max); } int max;//声明在执行语句之后 调整为 int max; 1、可以用逗号表达式来判断:a>b?a:b 就是很简单的判断,判断条件在前 a>b ,之后?如果条件成立 去冒号前面的值a,如果不成立,去冒号后面的值 b。所以,可以简单的逗号表达式来完成,嵌套了逗号语句。 2、我自己写的代码是: #include void main() { double a,b,c,max; cout>a>>b>>c; max=a>b?(a>c?a:c):(b>c?b:c); //先比较a,b 的大小,如果 a 大,在比较a,c 的大小;如果 b 大,在比较,b,c的大小 cout< int a=3,b=5,c=6; int max=0; intif(max max=b; if(max max=c; cout< 显然函数是实现三个数中寻找的数,先设a是的数,用的数与b比较若小于b则b是把b的值赋值给Max,否则什么不做;再拿Max与c比较,若c大则把c的值赋值Max,否则什么不做。这样就保证Max始终是的值。如果第二个if中加上else,那就和上面if连着的,就是执行if就不会执行else,不执行if的话才会判断else if。如a 呵呵,这个是正c>b确的了, 首先a当做数,然后用a跟b和c比较不就OK了,如果b大于a, 数Max就等于b啦,然后b和c比较,很简单的啦 int threemax(int a,int b,int c) {int max; if(a {max=b; }else max=a; if(max {max=c; }return max; } max变量存储值,先定a是值,再分别与b和c比较。最终是把值存在了max变量里面。这样应该就可以理解了吧。 呵呵只接这么弄 {int d=a>b?a:b; int f=d>c?d:c; }?:这是个三元表达式C语言的编程题:输入三个整数,按从大到小的顺序输出
return x;c语言判断三个数大小
System.out.println("最小的数:"+num[0]);C++中怎样写一个判断三个数大小的程序?
elsec语言中三个数比较大小
}//调用sort函数比较a,b,c三个数大小用c++怎么写
printf("请输入三个数:");C++三个数比大小
scanf("%d,%d,%d",&a,&b,&c);