一:全局變量
創新互聯2013年至今,先為丹陽等服務建站,丹陽等地企業,進行企業商務咨詢服務。為丹陽企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
#include?stdio.h
int?a,b,c;??//定義三個全局變量
void?sort()??//不需要參數
{
int?t;
if(ab)
{
t=a;a=b;b=t;
}
if(bc)
{
t=b;b=c;c=t;
}
if(ab)
{
t=a;a=b;b=t;
}
}
int?main()
{
printf("輸入:");
scanf("%d%d%d",a,b,c);
sort();
printf("排序:%d??%d??%d\n",a,b,c);
return?0;
}
二:指針
#include?stdio.h
void?sort(int?*a,?int?*b,?int?*c)?//參數傳遞方式:地址傳遞
{?
int?t;
if(*a*b)?
{
t=*a;*a=*b;*b=t;
}
if(*b*c)
{
t=*b;*b=*c;*c=t;
}
if(*a*b)?
{
t=*a;*a=*b;*b=t;
}
}
int?main()
{
int?a,b,c;
printf("輸入:");
scanf("%d%d%d",a,b,c);
sort(a,b,c);???????????????//把地址作為參數
printf("排序:%d??%d??%d\n",a,b,c);
return?0;
}
方法1:用3個變量存放3個數字,按從大到小的順序排:
int a,b,c,tmp;
printf("請輸入3個數字:");
scanf("%d%d%d",a,b,c);
if(ab)//如果a比b小,交換a和b的值,使a存放大的數字
{
tmp=a;
a=b;
b=tmp;
}
if(ac)//如果a比c小,交換a和c的值,使a存放大的數字
{
tmp=a;
a=c;
c=tmp;
}
if(bc)//如果b比c小,交換b和c的值,使b存放大的數字
{
tmp=b;
b=c;
c=tmp;
}
printf("按照從大到小的順序為:%d,%d,%d\n",a,b,c);
方法2:用數組存放3個變量,用冒泡排序的方法進行排序
int i=0,j=0,tmp=0,a[3];
printf("請輸入3個數字:");
for(i=0;i3;i++)
scanf("%d",a[i]);
for(i=0;i2;i++)
for(j=0;j2-i;j++)
if(a[i]a[i+1])//按照從大到小排列
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
printf("按照從大到小的順序為:");
for(i=0;i3;i++)
printf("%d ?",a[i]);
printf("\n");
#includestdio.h
mian()
{
int f(int *pointer1,int *pointer2,int *pointer3); \\對要進行調用的函數進行聲明
int change(int *po1,int *po2);
int a,b,c,*p1,*p2,*p3; \\定義整形三個變量和三個指針變量。
scanf("%d %d %d",a,b,c);
p1=a; p2=b; p3=c;
f(*p1,*p2,*p3); \\調用函數f()
printf("排序后的三個數為:%d%d%d\n",a,b,c);
}
int f(int *pointer1,int *pointer2,int *pointer3)
{
if(*pointer1*pointer2) change(*pointer1,*pointer2);
if(*pointer1*pointer3) change(*pointer1,*pointer3);
if(*pointer2*pointer3) change(*pointer2,*pointer3);
}
int change(int *po1,int *po2)
{
int t;
t=*po1;
*po1=*po2;
*po2=t;
}
新聞名稱:三個數排序用函數寫c語言 三個數排序用函數寫c語言怎么寫
網址分享:http://m.newbst.com/article16/ddshcgg.html
成都網站建設公司_創新互聯,為您提供Google、定制網站、動態網站、做網站、靜態網站、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯