当前位置:首页 » 编程语言 » c语言输入三个数按大到小输出
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输入三个数按大到小输出

发布时间: 2022-04-20 02:10:57

c语言,输入三个不同的数字,按从从大到小输出

1、参考2楼,修改两个语法错误:scanf("%d,%d,d%",&x,&y,&z);应该是:scanf("%d,%d,%d",&x,&y,&z);输出语句:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);2、算法太乱,应该先对x,y,z排序,排序的算法是两两相比较,如果前者大就交换,最后得到x,y,z是从小到大,
输出时反序z,y,x就行了,简洁完整并通过了调试的代码如下:#include
int
main()
{
int
x,y,z,t;
printf("请输入三个不同的数字,每输入一个数字用逗号隔开\n");
scanf("%d,%d,%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=t;}
if(x>z)
{t=x;x=z;z=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);
}

㈡ C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出

具体操作方法如下:

#include<stdio.h>

int main(void)

{int a,b,c,t;

printf("请输入三个数");

scanf("%d%d%d",&a,&b,&c);

if(a<b)

{t=a;a=b;b=t;}

if(b<c)

{t=b;b=c;c=t;}

if(a<b)

{t=a;a=b,b=t;}

printf("从大到小:%d %d %d",a,b,c);

system("pause");

return 0;}

注意:中间的t=a;a=b;b=t,就是交换a和b的位置,总是把大的换到前面来。

(2)c语言输入三个数按大到小输出扩展阅读:

c语言任意输入5个数,并按从大到小顺序输出的方法如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{int a[5];

int i,j,k;

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

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

for(i=0;i<=4;i++){

for(j=0;j<=4;j++)

{if(a[i]>a[j])

{k=a[i]; a[i]=a[j]; a[j]=k;}}}

printf("排序结果是: ");

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

{ printf("%d ",a[i]);

}return 0;

㈢ C语言的编程题:输入三个整数,按从大到小的顺序输出

#include <stdio.h>

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x<y)

{t=x;x=y;y=t;}

if(x<z)

{t=z;z=x;x=t;}

if(y<z)

{t=y;y=z;z=t;}

printf("%d %d %d ",x,y,z);

}

(3)c语言输入三个数按大到小输出扩展阅读:

使用三元运算符,这个运算符会使程序进一步简化,而且看起来更加的直观。

它的一般形式如下:

表达式1? 表达式2:表达式3;

? 表达式的值是由 表达式1 决定的。如果 表达式1 为真,则计算表达式2 的值,结果即为整个 ? 表达式的值。如果 表达式1 为假,则计算 表达式3 的值,结果即为整个 ? 表达式的值。

程序如下:

#include<stdio.h>

int main()

{

int max;

int a,b,c;

printf("请输入三个数:");

scanf("%d %d %d",11&a,&b,&c);

max=a>b?a:b;

max=c>max?c:max;

printf("Max is %d",max);

return 0;

}

㈣ C语言编程题,输入三个整数,按从大到小的顺序输出

#define _CRT_SECURE_NO_WARNINGS

#include&lt;stdio.h&gt;

int main(){

int a,b,c,t;

printf("请输入三个整数: ");

scanf("%d,%d,%d",&a,&b,&c);

if(a&lt;b){//完成a和b值的交换,a里面放最大值

t=a;

a=b;

b=t;

}

if(a&lt;c){//完成a和c值的交换,a里面放最大值

t=a;

a=c;

c=t;

}

if(b&lt;c){//完成b和c值的交换,a里面放最大值

t=b;

b=c;

c=t;

}

printf("%d %d %d ",a,b,c);

return 0;

}

运行结果:

(4)c语言输入三个数按大到小输出扩展阅读:

return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。

return语句用来结束循环,或返回一个函数的值。

1、return 0,说明程序正常退出,返回到主程序继续往下执行。

2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。

㈤ 编写一个c语言程序,从键盘输入三个数,要求按从大到小的顺序输出这三个数。

测试示例:

int main()

{

int a,b,c;

int maxNum,minNum,midNum;

scanf("%d %d %d",&a,&b,&c);

if (a>b)

{

if (a>c)

{

maxNum = a;

if (b>c)

{

midNum = b;

minNum = c;

}

else

{

midNum = c;

minNum = b;

}

}

else

{

maxNum = c;

midNum = a;

minNum = b;

}

}

printf("%d %d %d ",maxNum,midNum,minNum);

return 0;

}

运行结果

㈥ c语言三个数从大到小输出

#include <stdio.h>

int main() {
int a, b, c, t;
printf("请输入三个数:");
scanf("%d%d%d", &a, &b, &c);
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);
return 0;
}

㈦ c语言程序:输入三个数,要求从大到小输出

if语句后面交换数值的代码应该整体用{}括起来,此外,语句之间应用分号;
另外,交换的逻辑也不对。
下面附上参考代码
#include<stdio.h>
int
main()
{
int
a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a<b){

t=b;b=a;a=t;}
if(a<c){

t=c;c=a;a=t;}
if(b<c){

t=b,b=c;c=t;}
printf("%d,%d,%d\n",a,b,c);
return
0;
}
注意输入的时候,三个数要用逗号,隔开
123,456,789
789,456,123

㈧ C语言如何从键盘输入任意3个数,按从小到大的顺序输出

代码1.

//输入3个数,要求按从小到大顺序输出

#include<stdio.h>

intmain()
{
inta,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
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);
return0;
}

代码2.

输入3个字符串,按从小到大顺序输出。//先用程序对三个数进行从小到大排序,然后修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比较两个字符串的大小,为什么用前一句的时候会出现警告呢

if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}

voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}

代码3.

#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50


intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;

printf("Pleaseenter3string. ");

for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");

for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);

}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{

if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}

}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}

}

㈨ c语言编辑程序,任意输入3个数,按从大到小的顺序输入

思路:三个数按从大到小顺序输出,可以先求出三个数中的最大值和最小值,三个数的和减去最大值和最小值的差就是中间数,接着依次输出即可。
参考代码:
#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
if(a>b){
max=a;
min=b;
}
if(c>max) max=c;
if(min>c) min=c;
printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
}
/*
运行结果:
3 1 2
从大到小排序:3 2 1
*/

㈩ C语言 有3个数a,b,c,要求按大小顺序把它们输出。

下面介绍两种解题方法

1.用if else语句求解:

#include<stdio.h>

int main()

{

int a,b,c,x;

scanf("%d %d %d",&a,&b,&c);

if(a>b){x=a;a=b;b=x;}

if(a>c){x=a;a=c;c=x;}

if(b>c){x=b;b=c;c=x;}

printf("%d %d %d ",a,b,c);

return 0;

}

(10)c语言输入三个数按大到小输出扩展阅读

上述过程中我们用到了数组的知识,数组使用需要注意的是:


1) 数组中每个元素的数据类型必须相同,对于int a[4];,每个元素都必须为 int。

2) 数组长度 length最好是整数或者常量表达式,

3) 访问数组元素时,下标的取值范围为 0 ≤ index < length,

4) 数组是一个整体,它的内存是连续的。