#include?stdio.h

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了靜寧免費建站歡迎大家使用!
#include?stdlib.h
int?main(void)
{?int?a,b;
void?swap(int?*x,int?*y);
scanf("%d%d",a,b);
swap(a,b);
printf("%d%d\n",a,b);
system("PAUSE");
return?0;
}
void?swap(int?*x,int?*y)
{
int?c;
c=*x;
*x=*y;
*y=c;
}
交換函數(shù)很好寫。
比較難的讀文件。文件格式 與 讀語句要 相配。 特別是 多余 的 空行和回車鍵。
調(diào)試時用 printf 語句 檢查 讀得對不對。
fgets() 函數(shù)可用來讀整行的字符串,含回車鍵。
#include stdio.h
#includestdlib.h
void jh(char *a, char *b){
char x[100];
strcpy(x,a),strcpy(a,b),strcpy(b,x);
}
int main(){
FILE *fp;
int n,i,j;
char a[100];
char b[100];
char ch;
if((fp=fopen("2.2.txt","r"))==NULL){
printf("Error");
exit(0);
}
fgets(a,100,fp);
sscanf(a,"%d",n);
//printf("n=%d\n",n);
for(j=1;j=n;j++){
fgets(a[0],100,fp);
//printf("read a: %s",a);
fgets(b[0],100,fp);
// printf("read b: %s",b);
printf("Case %d\n",j);
jh(a,b);
printf("%s",a);
printf("%s",b);
fgets(a[0],100,fp); // 假定2組數(shù)間只有一個空白行,則用它跳過。
}
fclose(fp);
return 0;
}
要用函數(shù)實現(xiàn)兩個數(shù)的交換,則函數(shù)參數(shù)必須定義為指針形式,否則函數(shù)中對數(shù)值的修改將不會影響主調(diào)函數(shù),這是C語言的規(guī)則。
所以,以整型為例,自定義函數(shù)書寫如下:
void
swap_int(int*a,int*b)
{
int
t;
t
=
*a;
*a=*b;
*b=t;
}
void Swap(intx,inty)
{
int temp=0;
temp=x;
x=y;
y=temp;
}
int main()
{
int a=1;
int b=2;
Swap(a,b);
coutlt;lt;"a="lt;lt;alt;lt;endl;
coutlt;lt;"b="lt;lt;blt;lt;endl;
system("pause");
return 0;
}
運行結(jié)果:
擴展資料:
用指針交換:
void Swap(int*x,int*y)
{
int temp=0;
temp=*x;
*x=*y;
*y=temp;
}
int main()
{
int x=1;
int y=2;
Swap(x,y);
printf("x=%d,y=%d\n",x,y);
system("pause");
return 0;
}
運行結(jié)果:
X=2;Y=1
將兩個數(shù)進行互換的方法有兩種形式:
1、借助中間變量完成,此方法直觀,易理解,使用最多
2、不需要中間變量,通過變量身的運算完成交換。
參考代碼:
方法1:
int a=2,b=3,t;
t=a; //先將a存儲到臨時變量t中
a=b; //將b存儲到a中
b=t; //將臨時變量中的原a值存儲到b中
printf("a=%d b=%d\n", a,b );
方法2:
int a=2,b=3,t;
a += b ; //把兩數(shù)之和存到a中
b= a-b ; //用兩數(shù)和減去b可得原a,存儲到b中
a= a-b ; //因為b現(xiàn)在是原a值,所以,用兩數(shù)和減去b(原a)可得 原b,存儲到a中
此方法,還可以用異或運算來實現(xiàn),原理相同。
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("請輸入x與y的值,用空格隔開\n");scanf("%d%d",x,y);printf("x=%d,y=%d\n",x,y);swap(x,y);printf("交換后\nx=%d,y=%d\n",x,y);}
擴展資料:
C語言是一門通用計算機編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。
二十世紀(jì)八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標(biāo)準(zhǔn)局為C語言制定了一套完整的美國國家標(biāo)準(zhǔn)語法,稱為ANSI C,作為C語言最初的標(biāo)準(zhǔn)。目前2011年12月8日,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標(biāo)準(zhǔn)是C語言的第三個官方標(biāo)準(zhǔn),也是C語言的最新標(biāo)準(zhǔn),該標(biāo)準(zhǔn)更好的支持了漢字函數(shù)名和漢字標(biāo)識符,一定程度上實現(xiàn)了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向?qū)ο蟮木幊陶Z言有所不同。其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
參考資料:百度百科-C語言
分享文章:c語言交換數(shù)的函數(shù),兩個數(shù)值交換的函數(shù)c語言
標(biāo)題網(wǎng)址:http://chinadenli.net/article26/dsgiocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、動態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、域名注冊、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)