作者在 2011-08-10 11:59:11 发布以下内容
/*
时间:2011年8月10日11:53:03
功能:对通过键盘任意输入的3个整数由大到小排序
目的:利用已学的printf、scanf、if完成简单功能,掌握两个数字互换位置的方法
*/
# include <stdio.h>
int main(void)
{
int a, b, c;
int t;
printf("请任意输入三个整数,以空格间隔,按回车结束\n");
scanf("%d %d %d",&a,&b,&c); //按规则通过键盘输入三个整数,比如2 5 0
if (a < b) //当a<b时互换顺序,这样把较大的放在前面
{
t = a; //互换两个数字就像两杯饮料对倒,需要第三个杯子,所以之前需要定义临时变量t。把a杯的可乐倒进空杯t,这时a杯空了
a = b; //把b杯的芬达倒进a杯,b杯空了
b = t; //把t杯的可乐倒进b杯,t杯还是空杯,a杯里变成了芬达,b杯里变成了可乐,互换成功
}
if (a < c) //a与其他数字依次比较,最后a就变成了最大的一个
{
t = a;
a = c;
c = t;
}
if (b < c) //b也做相同操作,最后a b c就变成了从大到小排列的数
{
t = b;
b = c;
c = t;
}
printf("这三个整数从大到小的顺序是%d > %d > %d\n", a,b,c); //排完序,2 5 0 变成5 2 0了,八成傻根青年修成正果娶到漂亮姑娘了,O(∩_∩)O哈哈~
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
请任意输入三个整数,以空格间隔,按回车结束
2 5 0
这三个整数从大到小的顺序是5 > 2 > 0
Press any key to continue
————————————
*/
时间:2011年8月10日11:53:03
功能:对通过键盘任意输入的3个整数由大到小排序
目的:利用已学的printf、scanf、if完成简单功能,掌握两个数字互换位置的方法
*/
# include <stdio.h>
int main(void)
{
int a, b, c;
int t;
printf("请任意输入三个整数,以空格间隔,按回车结束\n");
scanf("%d %d %d",&a,&b,&c); //按规则通过键盘输入三个整数,比如2 5 0
if (a < b) //当a<b时互换顺序,这样把较大的放在前面
{
t = a; //互换两个数字就像两杯饮料对倒,需要第三个杯子,所以之前需要定义临时变量t。把a杯的可乐倒进空杯t,这时a杯空了
a = b; //把b杯的芬达倒进a杯,b杯空了
b = t; //把t杯的可乐倒进b杯,t杯还是空杯,a杯里变成了芬达,b杯里变成了可乐,互换成功
}
if (a < c) //a与其他数字依次比较,最后a就变成了最大的一个
{
t = a;
a = c;
c = t;
}
if (b < c) //b也做相同操作,最后a b c就变成了从大到小排列的数
{
t = b;
b = c;
c = t;
}
printf("这三个整数从大到小的顺序是%d > %d > %d\n", a,b,c); //排完序,2 5 0 变成5 2 0了,八成傻根青年修成正果娶到漂亮姑娘了,O(∩_∩)O哈哈~
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
请任意输入三个整数,以空格间隔,按回车结束
2 5 0
这三个整数从大到小的顺序是5 > 2 > 0
Press any key to continue
————————————
*/
学了指针了,用函数和指针简化一下代码
/*2011年8月31日14:39:54*/
# include <stdio.h>
void sort (int * p, int * q) //这里函数形参是指针变量p和q,他们的数据类型是int *
{
int t;
if (*p < *q) //*p是以p的内容为地址的变量,对第一次调用,*p就是a,同样*q就是b
{
t = *p; //P是int *型的,而*p是int型的,所以t和*p数据类型相同
*p = *q;
*q = t;
}
}
int main(void)
{
int a, b, c;
printf("请任意输入三个整数,以空格间隔,按回车结束\n");
scanf("%d %d %d",&a,&b,&c);
sort (&a,&b); //调用函数后,p=&a,也就是p保存了a的地址,p指向a。同样的q=&b,q保存了b的地址,q指向b
sort (&a,&c);
sort (&b,&c);
printf("这三个整数从大到小的顺序是%d > %d > %d\n", a,b,c);
return 0;
}
# include <stdio.h>
void sort (int * p, int * q) //这里函数形参是指针变量p和q,他们的数据类型是int *
{
int t;
if (*p < *q) //*p是以p的内容为地址的变量,对第一次调用,*p就是a,同样*q就是b
{
t = *p; //P是int *型的,而*p是int型的,所以t和*p数据类型相同
*p = *q;
*q = t;
}
}
int main(void)
{
int a, b, c;
printf("请任意输入三个整数,以空格间隔,按回车结束\n");
scanf("%d %d %d",&a,&b,&c);
sort (&a,&b); //调用函数后,p=&a,也就是p保存了a的地址,p指向a。同样的q=&b,q保存了b的地址,q指向b
sort (&a,&c);
sort (&b,&c);
printf("这三个整数从大到小的顺序是%d > %d > %d\n", a,b,c);
return 0;
}