㈠ 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<stdio.h>
int main(){
int a,b,c,t;
printf("请输入三个整数: ");
scanf("%d,%d,%d",&a,&b,&c);
if(a<b){//完成a和b值的交换,a里面放最大值
t=a;
a=b;
b=t;
}
if(a<c){//完成a和c值的交换,a里面放最大值
t=a;
a=c;
c=t;
}
if(b<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) 数组是一个整体,它的内存是连续的。