题目:键盘输入三个数,进行大小排序。
直接入正题,不说废话:
第一种方式,这种方式思路简单,代码太长!
用if语句:(if语句无限嵌套,不推荐!)
#include<stdio.h> int main() { int x,y,z,s; printf("请输入三个数;"); scanf("%d %d %d",&x,&y,&z); if(x>y){ if(x>z) { if(y>z) { printf("大小顺序为:%d>%d>%d",x,y,z); } else { s=y;y=z;z=s; printf("大小顺序为:%d>%d>%d",x,y,z); } } else { s=x;x=z;z=s; if(y>z) { printf("大小顺序为:%d>%d>%d",x,y,z); } else { s=y;y=z;z=s; printf("大小顺序为:%d>%d>%d",x,y,z); } } } else { s=x;x=y;y=s; if(x>z) { if(y>z) { printf("大小顺序为:%d>%d>%d",x,y,z); } else { s=y;y=z;z=s; printf("大小顺序为:%d>%d>%d",x,y,z); } } else { s=x;x=z;z=s; if(y>z) { printf("大小顺序为:%d>%d>%d",x,y,z); } else { s=y;y=z;z=s; printf("大小顺序为:%d>%d>%d",x,y,z); } } } return 0; }
第二种方式,函数加指针:(推荐!)
#include<stdio.h> //声明一个空函数,交换两个数的值 void exchange(int *,int *); int main(void) { int x,y,z; //定义变量,存放变量 int *a,*b,*c; //定义指针 //输入 printf("请输入三个数:"); scanf("%d %d %d",&x,&y,&z); //指针指向变量的地址 a=&x; b=&y; c=&z; //变量进行比较,变量的地址进行交换 if(x<y){ exchange(a,b); } if(x<z){ exchange(a,c); } if(y<z){ exchange(b,c); } printf("从大到小的顺序为:%d>%d>%d",x,y,z); } //定义 void exchange(int *i,int *j) { int p; p=*i;*i=*j;*j=p;//交换变量的地址 }
运行结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119735.html