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、最后点击“运行”,然后向计算机输入我们的三个不同数值,计算机就会按其从大到小进行顺序的输出了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
先令一个中间值 t ;
然后依次比较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);
}本回答被提问者和网友采纳
第2个回答  2012-09-28
给你一个思路::第一步:输入a,b,c的值 ;第二步: 比较a与b的大小,当a大于b时,把a与b的值交换 第三步:比较a与c的大小,当a大于c时,把a与c的值交换
第3个回答  2012-09-28
判断 如果a小于b,把b的赋值给a,然后a和c比较,如果a的值小于c,把c的值赋值给a。再次比较b和c,如果b的值小于c。就把c的值赋值给a。然后顺序输出a,b,c。就可以了!
第4个回答  2012-09-28
#include<stdio.h>
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]);
}
冒泡排序
相似回答