c语言,三个数a,b,c按大小顺序输出,求流程图
1、先打开DEV C++软件,并点击“新建源代码”。
2、在编辑页面输入源代码:
#include<stdio.h>
int main()
{
void exchange(int *q1,int *q2,int *q3);
int a,b,c,*p1,*p2,*p3;
printf("please input three numbers:");
scanf("%d %d %d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
printf("The order is:%d %d %d\n",a,b,c);
return 0;
}
void exchange(int *q1,int *q2,int *q3)
{
void swap(int *pt1,int *pt2);
3、因为此次的编程要求自定义函数swap() 用于交换两个变量的值,并且函数的原型为: void swap(int *p1,int *p2),并在main函数中用指针变量作实参,调用swap函数,最后输出排序后的结果,所以要先进行函数的定义,给其进行分配空间。
4、首先需要对这三个数分别进行比较,然后再在这个函数中镶嵌另一个函数来进行第二次的大小比较。
5、在使用指针函数时,要注意其指向,必须明确指向目标,指向要规范,否则计算机无法识别,编程将会运行不出来。
6、最后点击“运行”,然后向计算机输入我们的三个不同数值,计算机就会按其从大到小进行顺序的输出了。
然后依次比较a,b,c ;
具体过程是这样
先比较a和b的值,如果a大于b,,则利用t把a和b进行交换;然后比较a和c的值,如果a大于c,则利用t把a和c的值进行交换;最后比较b和c的值,如果b大于c,则利用t把b和c的值进行交换; 接着就可以按照从小到大的顺序依次输出啊a,b,c了
程序如下
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("请依次输入a,b,c:");
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("按从小到大的顺序输出a=%d,b=%d,c=%d\n",a,b,c);
}
void main()
{
int i=0;
int j=0;
int a[3];
int temp=0;
for(j=0;j<3;j++)
{
scanf("%d\n",&a[j]);
}
for(i=2;i>0;i--)
{
for(j=2;j>2-i;j--)
{
if(a[j-1]>a[j])
{
temp=a[j-1];a[j-1]=a[j];a[j]=temp;
}
}
}
for(j=0;j<3;j++)
printf("%d\t",a[j]);
}
冒泡排序