A. c語言用指針法交換兩個數的順序問題
解答:
1. 注意形式參數和實際參數的區別,主函數中的x,y是實際參數,swap函數中的a,b是形式參數。他們各有自己的存儲空間,互不幹擾。
2. 在程序適當位置加上輸出地址的語句,即可看出為什麼回到主程序後,x,y的值為什麼不交換。
B. C語言,一個小問題,t=a; a=b; b=t;這個是a和b的交換,請問交換是後是什麼作用呢
交換後a和b的值就對調了,假設交換前a=10,b=5,由於滿足a>b的條件進行a和b的交換,首先將t=a; //t=10,a=10,b=5
a=b; //t=10,a=5,b=5
b=t; //t=10,a=5,b=10
所以交換後a=5,b=10,即交換了a和b的值
整個程序實現的功能就是將輸入的a,b,c按照從小到大的順序排序後依次存放在a,b,c中,即程序保證a<b<c
C. c語言 將變數A和B的值進行互換 的程序
代碼如下:#include<stdio.h>
#include <stdlib.h>
void swap1(int& a,int& b)//使用中間變數交換兩個值
{
int temp = a;
a = b;
b = temp;
}
void swap2(int& a, int& b) //只用加法、減法、乘法也可以交換兩個值
{
a = a + b;
b = a - b;
a = a - b;
}
void swap3(int& a, int& b) //使用位運算也可以交換兩個值
{
a = a^b;
b = a^b;
a = a^b;
}
void main1mianshiti7()
{
int a1 = 1, b1 = 2;
int a2 = 10, b2 = 15;
int a3 = 78, b3 = 90;
int a = 2147483647, b = 1;
printf("a1=%p,b1=%p", &a1, &b1);
swap1(a1, b1);
swap2(a2, b2);
swap3(a3, b3);
printf("swap after~~~~~~~~~~~~~
");
printf("a1=%d,b1=%d
", a1, b1);
printf("a2=%d,b2=%d
", a2, b2);
printf("a3=%d,b3=%d
", a3, b3);
swap2(a, b);
printf("a=%d,b=%d
", a, b);
system("pause");
}
源代碼截圖:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
D. 怎樣用C語言交換a,b,c三個數
a與b換:
a=a^b;(按位運算)
b=a^b;
a=a^b;
b與c換
b=b^c;
c=b^c;
b=b^c;
這是最方便的了。
E. c語言中 A值與B值是如何轉換的
不藉助其它臨時變數而交換A和B的變數值:
A+=B;
B=A-B;
A-=B;
F. 如何用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;
}
G. c語言中三個整型數a b c怎麼進行值的互換
二個變數值的交換一般需藉助於一個輔助變數來完成的。
int
a=3,b=4,t;
通過以下的三個語句就能把a,b的值互換(這種操作有點像把二個瓶里的液體交換時,要藉助於一個空瓶):
t=a;
a=b;
b=t;
不太清楚什麼是「a
b
c值的互換」。如果是要把a=1,b=2,c=3「輪換」為a=2,b=3,c=1的話,
那就用下面的語句實現:
t=a;
a=b;
b=c;
c=t;
如果是要把任意大小順序的三個變數,通過交換變為從小到大排列,可以採用以下的程序段:
int
a,b,c,t;
scanf("%d
%d
%d",&a,&b,&c);
if(a>b){t=a;
a=b;
b=t;}
if(a>c){t=a;
a=c;
c=t;}
if(b>c){t=b;
b=c;
c=t;}
printf("從小到大的排列是:%d
%d
%d\n",a,b,c);
H. c語言中交換a、b兩個數的一種演算法
第一次找出不同的地方,並將不同之處用1標記並賦給a,然後用b和不同進行對比,反過來得到a的值,a的值發生改變,b變成a的原值,後一步同理。把兩個數寫成二進制的形式「異」一下就知道了。