上面我们使用“换位法”两两比较,并借助第 3 个变量交换变量的值实现了 3 个数按从大到小的顺序排序。这次我们不用换位,直接两两比较,然后按从大到小的顺序输出。 算法描述 1) 定义整型变量 a、b、c; 2) 用 scanf( )从键盘输入三个整数给 a、b、c; 3) 如果 a>b 成立,则 如果b>c 成立,则输出...
所以 第一个 if 的(a<b)目的就是通过比大小来对a,b进行赋值,由大到小排列,大的值赋给a,小的值赋给b。 第二个 if 的(a<c) ,我们知道C语言是从上到下顺序运行,在经过了第一个if后,无论是最初赋值(键盘输入值)的a大还是b大,此时的a代表的就是在第一个if经过比较得到的较大的那个值,第二个if...
//if语句依次比较大小排序#include<stdio.h>intcompare(intx,inty,intz){intt=0;if(x<y){t=x;x=y;y=t;}if(y<z){t=y;y=z;z=t;}if(x<y){t=x;x=y;y=t;}printf("the number from big to small is\n %d %d %d \n",x,y,z);}intmain(){inta,b,c;printf("please input three n...
C语言刷题随记 —— 三数字排序 题目 输入三个整数 x,y,z,请把这三个数由小到大输出。 思路 我们想办法把最小的数放到 x 上, 先将x 与 y 进行比较,如果 x>y 则将 x 与 y的值进行交换, 然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x最小。 题解 代码语言:...
方法1:用3个变量存放3个数字,按从大到小的顺序排:int a,b,c,tmp;printf("请输入3个数字:");scanf("%d%d%d",&a,&b,&c);if(a<b)//如果a比b小,交换a和b的值,使a存放大的数字 { tmp=a;a=b;b=tmp;} if(a<c)//如果a比c小,交换a和c的值,使a存放大的数字 { tmp=a...
C语言程序如下: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\n",a,b,c);return0;} ...
int a,b,c,t; 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\n",a,b,c); } /*选择法思路:依次用前面的与后面的比较,将小的前移*/ ...
C语言大小字母输出
这是一个三数排序,是通过俩俩比较,然后按照从小到大输出,下面来读一下这个程序:main(){int x,y,z,t;scanf("%d,%d,%d",&x,&y,&z);if(x>y){t=x;x=y;y=t;} /*如果x>y,就将两者交换;如:当x=4且y=1时,则执行){t=x;x=y;y=t;}语句;执行后的结果是x=1;y=4;*...
解题思路:这是冒泡排序的方法。可以排序n个数。 注意事项: 参考代码: #include <stdio.h> int main () { int a[3],i,j,b; for(i=0;i<3;i++) scanf("%d",&a[i]); for (i=0;i<2;i++) { for (j=0;j<2-i;j++) { if (a[j]>a[j+1]) ...