一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av
重慶醫(yī)科大學(xué)論壇
標(biāo)題:
二C機(jī)試基本算法:兩個(gè)變量互換值
[打印本頁]
作者:
小鳳尾
時(shí)間:
2006-9-7 15:38
標(biāo)題:
二C機(jī)試基本算法:兩個(gè)變量互換值
基本算法:兩個(gè)變量互換值
具體要求:將兩個(gè)變量的值互換。例如,設(shè)有變量x和y,它們的值分別為1和2,經(jīng)過互換后,它們的值分別變?yōu)?和1。
方法1:使用臨時(shí)變量
算法:
(1)先定義一個(gè)臨時(shí)變量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);
}
該算法從程序?qū)懛ǖ慕嵌群苋菀子洃洝H绯绦蛑兴荆龡l賦值語句寫在同一行時(shí),每個(gè)分號(hào)兩邊的變量名是一樣的(將第一個(gè)與最后一個(gè)符號(hào)看作是首尾相連),只要記住一點(diǎn),第一個(gè)符號(hào)必須是臨時(shí)變量t,所以,上述三條語句也可寫成:t=y;y=x;x=t;但不能寫成:y=x;x=t;t=y;等形式。
若要將這一互換功能寫成一個(gè)函數(shù)供調(diào)用,則必須寫成如下形式:
void exch(int *x,int *y)
{
int t;
t=*x; *x=*y; *y=t;
}
方法2:不用臨時(shí)變量
算法:
(1)將兩個(gè)變量的和求出,并保存于x中;
(2)從和中減去原y的值,得到原x的值,賦給y;
(3)在從和中減去原x的值(這是已經(jīng)在y中),得到原y的值,賦給x.
程序:
main()
{
int x=1,y=2;
x+=y;
y=x-y;
x=x-y;
printf("x=%d,y=%d",x,y);
}
若要將這一互換功能寫成一個(gè)函數(shù)供調(diào)用,則必須寫成如下形式:
void exch(int *x,int *y)
{
*x+=*y; *x=*y; *y=t;
}
轉(zhuǎn)貼自:
http://www.hljcre.com/dispbbs.asp?boardid=15&ID=1865&replyID=1865
歡迎光臨 重慶醫(yī)科大學(xué)論壇 (http://www.espacio12.com/)
Powered by Discuz! X3.4