C語言練習題(二)

2021-09-19 14:36:58 字數 1956 閱讀 1400

1. 給定兩個整形變數的值,將兩個值的內容進行交換

2. 求10 個整數中最大值

3. 將三個數按從大到小輸出

4. 求兩個數的最大公約數

1. 給定兩個整形變數的值,將兩個值的內容進行交換

我們想交換兩個杯子裡的水,那麼就需要第三個杯子來輔助我們交換,交換兩個變數的值也一樣,需要建立第三個變數來完成交換

//交換兩個數

#include

#include

intmain()

執行結果:

那麼不建立第三個變數能否完成兩個數的交換呢?

當然也是可以的,用簡單的加減法就能幫助我們解題

//交換兩個數(不用中間變數)

#include

#include

intmain()

執行結果:

2. 求10 個整數中最大值

比較兩個數的大小我們都很清楚,比較十個數無非就是拿兩個數來比較,然後將大者再與其他的數進行兩兩比較,最後輸出最大值

//求10個整數中最大值

#include

#include

intmain()

;int max = arr[0]

;int i =0;

for(i =

1; i <

10; i++)}

printf

("max = %d\n"

, max)

;system

("pause");

return0;

}

執行結果:

3. 將三個數按從大到小輸出

又是一道比較大小的題目,我們借助乙個臨時變數tmp來幫助我們進行比較,兩兩進行比較,最終把最大值賦給a,較小值賦給b,最小值賦給c,依次列印a,b,c就得到三個數從大到小的排序了

//將三個數從大到小輸出

#include

#include

intmain()

//將a,c中的較大值賦給a,較小值賦給c

if(a < c)

//將b,c中的較大值賦給b,較小值賦給c

if(b < c)

printf

("%d %d %d\n"

, a, b, c)

;system

("pause");

return0;

}

執行結果:

4. 求兩個數的最大公約數

用輾轉相除法來實現

//求兩個數的最大公約數

#include

#include

intmain()

//用a%b,把b的值賦給a,再把取餘的值賦給b,當取余為0時,迴圈跳出,b就是最大公約數

while

(a%b !=0)

printf

("最大公約數為:%d\n"

,b);

system

("pause");

return0;

}

執行結果:

在c語言中我們通常會借助建立臨時變數來幫助我們解決問題,會讓問題變得更清晰好解

C語言練習題

8 編寫乙個程式,將字串str2中的全部字元複製到字串str1中。要求 不能使用strcpy函式。12分 include definemaxlen 20 假設 str2 的長度不超過 str1 的長度 voidstrcopy char str1,char str2 intmain 9 3 20分 從...

C語言練習題

1.保密電文 某電報局的電文保密規律是將每個英文本母變成其後的第4個字母,例如a變成e,a變成e。最後四個字母 w,x,y,z或w,x,y,z 變成前四個字母 a,b,c,d或a,b,c,d 電文中的非字母字元不變。要求 輸入一行字串,輸出改變的字串。程式分析 題目程式 include intmai...

c語言練習題1

1 編寫乙個程式實現求圓形的面積,使用者自己輸入半徑?s pi r r include define pi 3.14 int main int argc,const char argv 2 編寫乙個遞迴函式,求乙個整數的2進製形式。include void calc int n int main i...