A. 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);}
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等。
B. 在匯編語言中怎樣實現兩個數互換
交換AX和BX的數據,用以下4種方法可以實族慶型現:
第一種:將中間變數存儲於棧中:
SSEG SEGMENT STACK
DB 32 DUP (?)
SSEG ENDS
CSEG SEGMENT
assume CS:CSEG, SS:SSEG
Main: mov AX, SSEG
mov SS, AX
mov SP, 32h ; 初始化棧段及棧指針
mov AX, xxx
mov BX, yyy ; 分別設置AX和BX的值
push AX
push BX
pop AX
pop BX
mov AH, 4ch ; 21h中斷,返回DOS
int 21h
CSEG ENDS
END Main
第二種:使用中間變數存儲
DSEG SEGMENT
Value DB 16 DUP (?)
DSEG ENDS
CSEG SEGMENT
assume CS:SCEG, DS:DSEG
Main: mov AX, DSEG
mov DS, AX
mov SI, OFFSET Value ; 設置DS:SI指向中間變數
mov WORD PTR [SI], AX ; AX -> Value
mov AX, BX ; BX -> AX
mov BX, WORD PTR [SI] ; Value -> BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
第三種:直接使用xchg交換指令
CSEG SEGMENT
assume CS:CSEG
Main: mov AX, xxx
mov BX, yyy
xchg AX, BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
第四兆猜種,直接在通用寄存器中交換
CSEG SEGMENT
assume CS:CSEG
Main: mov AX, xxx
mov BX, yyy
mov CX, AX
mov AX, BX
mov CX, BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
注意:代碼沒有顯示功能,而且在調用DOS中斷時,AH的值已經更改。故編譯連接後,只能在debug下查差空看運行結果。
C. 用c++做交換兩個數的值
首先啟動vb6,執行文件-新建工程命令,在彈出的新建工程對話框中選擇標准exe文件。
進入窗體,選擇form1拖動周邊調節窗體的大小,直至自己認為合適為止。
選擇form1,在屬性對話框中修改caption屬性值為「交換兩個變數的值」,修改boderstyle屬性值為4-fixed。
在窗體上創建一個fram1對象,修改其caption屬性值為無,調節其大小並使它填充整個窗體。
接著在fram上創建兩個按鈕控制項,調整他們的位置,修改command1的caption屬性值為「方法一」,修改command2的caption屬性值為「方法二」。
在frame1中創建一個標簽對象,修改caption屬性值為「交換兩個變數的值」,設置font屬性,字體為王羲之書法字體,字型大小為二號。
雙擊command1進入代碼區域,在代碼區域中對象選擇command1,過程選擇click,然後輸入代碼為:
Dim a As Integer, b As Integer, c As Integer
a = Val(InputBox("輸入a"))
b = Val(InputBox("輸入b"))
Me.Print "交換前:a= "; a, "b="; b
c = a
a = b
b = c
MsgBox "交換後a=" & a & "b=" & b, vbOKOnly, "交換結果"
接著雙擊command2,進入代碼區域,輸入代碼為:
Dim X, Y As Integer
X = Val(InputBox("請輸入x的值!"))
Y = Val(InputBox("請輸入y的值!"))
X = X + Y
Y = X - Y
X = X - Y
Print X, Y
點擊工具欄中的啟動按鈕進行程序代碼搭型的編譯,根據錯誤提示進行修改程序,直至無誤並且實現預先功能為止。
程序檢測完畢後,執行文件-保存工程命令,在彈出對話框中點擊保存,先保存窗體,再保存工程。
接著執行文件-生成工程.exe命令,在彈出對話框中輸入名稱為「交換兩個變數的值」,保存位置為桌面,這樣信正就生成了可執行文件知坦猜。
D. 在C語言中如何將兩個數進行互換
方法 1:(引進變數)
可以認枝陪為a、b、c各佔一個小肢旦格,小格里可以放入數字。具體步驟為:
程序如下:
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d",&歷搭擾a,&b);
c=a;
a=b;
b=c;
printf("a=%d b=%d ",a,b);
return 0;
}
方法 2:()
兩個數的互換可以用式子:
a=b-a;b=b-a;a=b+a;來實現。
程序如下:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",a,b);
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d", a, b);
return 0;
}
方法 3:(指針)
程序如下:
#include<stdio.h>
int fun(int *p, int *q)
{
int tmp = *p;
*p = *q;
*q = tmp;
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d,%d ", a, b);
fun(&a, &b);
printf("%d,%d ", a, b);
return 0;
}
E. 如何用c語言求輸入兩個整數a和b,交換他們的位置,然後輸出
# include <液猛stdio.h>
int main(void)
{
int a,b,c;
printf("扒棗請輸入整數a:\n");
scanf("%d",&a);
printf("請輸入整數b:\n");
scanf("%d",&b);
printf("你輸入的數是a:%d\tb:%d\n",a,b);
c=a;
a=b;
b=c;
printf("它們交換位置後春埋拆是a:%d/tb:%d\n",a,b);
retrun 0;
}
F. 在C語言中如何將兩個數進行互換
將兩個數進行互換的方法有兩種形式:
1、藉助中間變數完成,此方法直觀,易理解,使用最多
2、不需要中間變數,通過變數身的運算完成交換。
參考代碼:
方法1:
inta=2,b=3,t;
t=a;//先將a存儲到臨時變數t中
a=b;//將b存儲到a中
b=t;//將臨時變數中的原a值存儲到b中
printf("a=%db=%d ",a,b);
方法2:
inta=2,b=3,t;
a+=b;//把兩數之和存到a中
b=a-b;//用兩數和減去b可得原a,存儲到b中
a=a-b;//因為b現在是原a值,所以,用兩數和減去b(原a)可得原b,存儲到a中
此方法,還可以用異或運算來實現,原理相同。
G. 求一個C語言程序題:編寫一個函數SWAP()實現交換兩個數位置的功能
#include <stdio.h>
void swap(int *p, int *q);//用團團扒傳地址的方法交換
void main()
{
int i, j;
scanf("%d%d", &i, &j);//從鍵盤輸入兩個交換的數
swap(&i, &j);//傳入i,j的地址
printf("i = %d, j = %d\n", i, j);//輸出交換後的兩個值
}
void swap(int *p, int *q)
{
int temp;//定義臨時變數 存放中間值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接塌昌寫void swap(int i, int j);
因為或旦那隻是臨時變數,函數調用完後,便釋放空間,兩個值並沒有交換。
H. 編程 輸入兩個正整數,要求互相交換位置後輸出
#include<stdio.h>
int main()
{
int i, j, k;
printf("請輸入第一個數");
scanf("%d", &i);
printf("請輸入第二個數");
scanf("%d", &j);
printf("交換前第一個數%d第二個數為%d\n", i, j);
k = i;
i = j;
j = k;
printf("交換後第一個數%d第二個數為%d\n", i, j);
return 0;
}
//這是c語言
//大概就是這樣吧