一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學論壇

 找回密碼
 注冊(開放注冊)
搜索
查看: 2715|回復: 0
打印 上一主題 下一主題

[計算機類] 二C機試基本算法:兩個變量互換值

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2006-9-7 15:38:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基本算法:兩個變量互換值


具體要求:將兩個變量的值互換。例如,設有變量x和y,它們的值分別為1和2,經過互換后,它們的值分別變?yōu)?和1。


方法1:使用臨時變量


算法:
(1)先定義一個臨時變量t;
(2)將x的值暫存于t中:t ← x
(3)將y的值賦給x: x ← y
(4)將t中保存的值賦給y: y ← t


程序:
main()
{
 int x=1,y=2,t;
 t=x; x=y; y=t;
 printf("x=%d,y=%d",x,y);
}
該算法從程序寫法的角度很容易記憶。如程序中所示,三條賦值語句寫在同一行時,每個分號兩邊的變量名是一樣的(將第一個與最后一個符號看作是首尾相連),只要記住一點,第一個符號必須是臨時變量t,所以,上述三條語句也可寫成:t=y;y=x;x=t;但不能寫成:y=x;x=t;t=y;等形式。


若要將這一互換功能寫成一個函數(shù)供調用,則必須寫成如下形式:
void exch(int *x,int *y)
{
 int t;
 t=*x; *x=*y; *y=t;
}


方法2:不用臨時變量

算法:
(1)將兩個變量的和求出,并保存于x中;
(2)從和中減去原y的值,得到原x的值,賦給y;
(3)在從和中減去原x的值(這是已經在y中),得到原y的值,賦給x.


程序:
main()
{
 int x=1,y=2;
 x+=y;
 y=x-y;
 x=x-y;
 printf("x=%d,y=%d",x,y);
}


若要將這一互換功能寫成一個函數(shù)供調用,則必須寫成如下形式:
void exch(int *x,int *y)
{
 *x+=*y; *x=*y; *y=t;
}

轉貼自:http://www.hljcre.com/dispbbs.asp?boardid=15&ID=1865&replyID=1865
您需要登錄后才可以回帖 登錄 | 注冊(開放注冊)

本版積分規(guī)則

手機訪問本頁請
掃描左邊二維碼
本網站聲明
本網站所有內容為網友上傳,若存在版權問題或是相關責任請聯(lián)系站長!
站長電話:0898-66661599    站長聯(lián)系QQ:12726567   
站長微信:hainanok
請掃描右邊二維碼
www.myujob.com

小黑屋|手機版|Archiver|重慶醫(yī)科大學論壇 ( 瓊ICP備10001196號-2 )

GMT+8, 2025-11-19 03:08 , Processed in 0.417227 second(s), 14 queries .

Powered by 校園招聘信息

© 2001-2020 重慶醫(yī)科大學論壇校園招聘

快速回復 返回頂部 返回列表