假設a=10,b=20,借助於中間變數c,先將a的值賦給c,再將b的值賦給a,最後將c的值賦給b,完成交換。
#include#includeint main()
假設a=10,b=20,此處用了兩種解法:
解法1:先將a+b的值賦給a,此時a=30;將a-b的值賦給b,此時b=10;再將a-b的值賦給a,此時a=20;
解法2:用到二進位制異或的思想,首先明確,異或是以一種邏輯運算,當值相同時得到0,值不同時得到1。
a=10 0000 1010
b=20 0001 0100
a=a^b= 0001 1110 a=30
b=a^b= 0000 1010 b=10
a=a^b= 0001 0100 a=20
#include#includeint main()
#include#includeint main()
隨機建立乙個有10個數的一維陣列,建立中間變數i,將a[1]的初值賦給max,通過for語句迴圈,當a[i]>max時,將a[i]的值賦給max。
#include#includeint main()
; int i=2, max=a[1];
for (; i <= 10; i++)
printf("這十個數中的最大值為%d\n",max);
system("pause");
return 0;
}
定義乙個隨機數組a[3]=,通過if語句進行比較,將其按照從大到小的順序分為放在max,mid,min,最後將其輸出。
#include#includeint main()
; int max, mid, min;
printf("三個數分別為:%d,%d,%d\n", a[0], a[1], a[2]);
if (a[0] > a[1] && a[0] > a[2])
if (a[1] > a[0] && a[1] > a[2])
if (a[2] > a[0] && a[2] > a[1])
printf("這三個數從大倒小的順序為:%d,%d,%d\n",max,mid,min);
system("pause");
return 0;
}
此處用到輾轉相除法,進行此次運算,取兩個數中最大的數做除數,較小的數做被除數,用最大的數除較小數,如果餘數為0,則較小數為這兩個數的最大公約數,如果餘數不為0,用較小數除上一步計算出的餘數,直到餘數為0,則這兩個數的最大公約數為上一步的餘數。
#include#includeint main()
while (a % b != 0)
printf("最大公約數為:%d",b);
system("pause");
return 0;
}
學藝不精,望批評指正。 C語言基礎訓練題 四
1.螢幕上輸出以下圖案 for int i 0 i 6 i putchar n for int i 5 i 0 i putchar n 2.求出0 999之間的所有 水仙花數 並輸出。求0 999的水仙花數 printf 0 999內的水仙花數 n for int i 0 i 1000 i if i...
C語言基礎訓練題 五
實現乙個函式,列印乘法口訣表,口訣表的行數和列數自己指定,輸入9,輸出99口訣表,輸入12,輸出1212的乘法口訣表。使用函式實現兩個數的交換。實現乙個函式判斷year是不是閏年。建立乙個陣列,實現函式init 初始化陣列 實現empty 清空陣列 實現reverse 函式完成陣列元素的逆置。要求 ...
python基礎訓練task02
我們準備利用17天時間,將 python 基礎的刻意練習分為如下任務 task01 變數 運算子與資料型別 1day task02 條件與迴圈 1day task03 列表與元組 2day task04 字串與序列 1day task05 函式與lambda表示式 2day task06 字典與集合...