解题思路:
首先判断输入的三个数a,b,c中a和b两个数的大小,将较小的数赋值给a,大的赋值给b,然后再判断a和c两个数的大小,较小的数赋值给a,大的赋值给c,以此来确保a中保存的是a,b,c三个数中最小的那个数,然后再判断b和c的大小,较小的保存在b里边,大的在c里边,最后依次输出a,b,c三个数。此题解题思路十分简单易懂,在排序数量少的情况下是非常常见的一种排序方法,十分适合初学者用来入门学习。
注意事项:
在两个数比较大小的过程中,temp的作用就是用来保存其中一个数字,方便两个数进行交换的,确保本来较大的数保存的是较小的值,本来较小的数,保存的是较大的值。
下面用一个形象的例子进行解释,以便读者理解:
假设有一瓶可乐和一瓶雪碧,现在想要将这两瓶饮料交换一下瓶子(这句话的意思就是把原来装可乐的瓶子装雪碧,原来装雪碧的瓶子装可乐),想要实现这一想法,最容易想到的方法就是先找来一个空瓶子,把可乐倒进空瓶子中,然后再把雪碧倒进原来装有可乐的瓶子中,再把原来空瓶子中的可乐倒进原来装有雪碧的瓶子里。
在这个例子中,空瓶子的作用就相当于是代码中temp的作用。
参考代码:
#include<stdio.h> int main() { //定义三个变量保存三个数字 int a,b,c; //定义临时变量保存临时数据 int temp; //从键盘接受三个数字 scanf("%d %d %d",&a,&b,&c); //用if判断句依次判断两个数的大小 if(a>b) { temp=a; a=b; b=temp; } if(a>c) { temp=a; a=c; c=temp; } if(b>c) { temp=b; b=c; c=temp; } //输出排序后的三个数 printf("%d %d %d ",a,b,c); return 0; }
0.0分
13 人评分
#include<stdio.h> int main() { int a,b,c,t; 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; } pritnf("%d %d %d".a,b,c); return 0; } 请问为什么我这个不对呀?
#include<stdio.h> #include "string.h" int main(){ int a[3],i,min,j,t,k; for(i=0;i<3;i++){ scanf("%d",&a[i]); } for(i=0;i<3;i++){ min=i; for(j=i;j<3;j++){ if(a[j]<a[min]){ min = j; } } if(min!=i){ t = a[min]; a[min] = a[i]; a[i] = t; } } for(i=0;i<3;i++){ printf("%d ",a[i]); } } 选择排序的一种解法va
Renee 2022-10-07 17:06:15 |
int a,b,c,min,mid,max; scanf("%d %d %d ",&a,&b,&c); min=a,max=c; if(a>b||a>c) { if(b<c) min=b; else min=c; } if(c<a||c<b) { if(a>b) max=a; else max=b; } mid=a+b+c-min-max; printf("%d %d %d ",min,mid,max);
Renee 2022-10-07 17:06:50 |
int a,b,c,min,mid,max; scanf("%d %d %d ",&a,&b,&c); min=a,max=c; if(a>b||a>c) { if(b<c) min=b; else min=c; } if(c<a||c<b) { if(a>b) max=a; else max=b; } mid=a+b+c-min-max; printf("%d %d %d ",min,mid,max);
数组输出 (C语言代码)浏览:767 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:801 |
printf基础练习2 (C语言代码)浏览:567 |
蛇行矩阵 (C语言代码)浏览:742 |
【计算直线的交点数】 (C语言代码)浏览:1441 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:521 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:511 |
分解质因数 (C++代码)浏览:1470 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:795 |
简单的a+b (C语言代码)浏览:635 |
拯救不够优秀的自己 2023-03-05 23:42:05 |
printf那一句中用了一个点,错在了这里
拯救不够优秀的自己 2023-03-05 23:43:37 |
printf这个单词你写错了
刘陈晨 2023-03-06 21:07:30 |
@dotcpp0646081 嗷嗷,谢谢!!
刘陈晨 2023-03-06 21:08:03 |
@dotcpp0646081 嗷嗷,谢谢!!