『壹』 c語言:定義宏swap(x,y)用於交換兩個參數x和y的值,並編寫程序測試
思路:交換a和b只要有三種方法:
引入變數t:t=a;a=b;b=t;
#include<stdio.h>
#defineswap(a,b){intt;t=a;a=b;b=t;}
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
swap(a,b);
printf("%d%d ",a,b);
return0;
}
/*
輸出:
12
21
*/加減法:a=a+b;b=a-b;a=a-b;
#include<stdio.h>
#defineswap(a,b){a=a+b;b=a-b;a=a-b;}
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
swap(a,b);
printf("%d%d ",a,b);
return0;
}
/*
輸出:
12
21
*/位運算:a=a^b;b=a^b;a=a^b;
#include<stdio.h>
#defineswap(a,b){a=a^b;b=a^b;a=a^b;}
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
swap(a,b);
printf("%d%d ",a,b);
return0;
}
/*
輸出:
12
21
*/
『貳』 c語言,編寫程序,從鍵盤輸入兩個字元分別存放在變數x和y中,要求通過程序交換他們的值。(需要代碼)
int x, y;
scanf("%d%d",&x,&y);
int temp;
temp = x;
x= y;
y = temp;
請採納,謝謝
『叄』 c語言中用函數交換兩個變數的值
c語言中用函數交換兩個變數的值方法是先將變數賦值給中間變數,然後中間變數再賦值給另外一個變數,程序如下:
#include "Stdio.h"
#include "Conio.h"
void swap(int x,int y)
{
int t,m;
t=x; //變數x賦值給中間變數t
m=y; //變數y賦值給中間變數m
x=m; //中間變數m賦值給變數x,將y的值賦值給了x。
y=t; //中間變數t賦值給變數y,將x的值賦值給了y。
}
main()
{
int a,b;
a=1,b=2;
swap(a,b); //調用交換函數
printf("%d,%d",a,b);
getch();
}
(3)c語言x和y值交換擴展閱讀:
C語言的語法結構:
1、順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如:a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子裡面的水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為:c = a; a = b; b = c;執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b =c;則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。
順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算、輸出三步曲的程序就是順序結構。
2、選擇結構
對於要先做判斷再選擇的問題就要使用選擇結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句。
選擇結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
3、循環結構
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。
四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤。
『肆』 C語言 交換x y的值
#include<stdio.h>
void main()
{ int x,y;
/*exchange x,y*/
printf("Input x,y\n");
scanf("%d,%d",&x,&y);
x + = y;
y = x-y;
x -= y;
printf("x=%d,y=%d\n",x,y); //這 &x是對x取地址
}
『伍』 C語言中交換X,y的值為什麼要用第三變數
第三變數是臨時變數。因為一個變數只能有一個值,比如說變數a在同一時刻內只能等於3或者是等於4,而不能是同時既等於3又等於4.
現在考慮兩數交換,假設有a = 3, b = 4,要交換它們的值,假設先把a的值給b,由於b在同一時刻只能有一個值,所以,如果b要接收a的值的話,就必須先把自己原先的值弄出去,但是弄到哪裡去呢?如果弄到a那裡去的話,由於a 在同一時刻也只能有一個值,所以,a也陷入了與b相同的境況了。於是,這就發生了死鎖。如果不顧b為何值而強行把a的值賦予b的話,原先b的值就會被覆蓋掉,這樣一來,b就不知道把什麼值傳給a了,這樣就達不到交換的目的了。所以,引入第三個變數,用來臨時儲存a或b的變數值,問題就解決了。
『陸』 c語言中 分別輸入x,y的值 輸出時x,y值相互交換 怎麼編 使用中間變數和不用中
使用變數
#include<stdio.h>
int main()
{
int x,y,n;
scanf("%d %d",&x,&y);
n=x;
x=y;
y=n;
printf("%d %d",x,y);
return 0;
}
不使用變數的方法有幾種先用我自己記的的吧
#include<stdio.h>
int main()
{
int x,y;
scanf("%d %d",&x,&y);
x=x-y;
y=x-y;
x=x+y;
printf("%d %d",x,y);
return 0;
}
還一種最簡單的哈哈 這里對調一下x,y就好了
printf("%d %d",y,x)
『柒』 C語言用函數如何實現兩個數交換
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("請輸入x與y的值,用空格隔開 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交換後 x=%d,y=%d ",x,y);}
(7)c語言x和y值交換擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。