今日份的小練習

2021-09-25 20:29:28 字數 1841 閱讀 6664

(1)一般兩個數的交換

#includeint main()

(2)不建立臨時變數交換兩個數 

#define _crt_secure_no_warnings 1

#includeint main()

其中的  ^ 符號表示按位異或(相同為0,不同為1),相關的還有按位與(都為1才為1),按位或|(有乙個1則結果為1)。

值得注意的是,雖然這種不建立臨時變數的方法顯得高大上,但是一般程式都用第一種方法,畢竟程式要給人看的,最好甚至能讓不懂c的人看懂。

數學思想就是,兩個數都能同時除盡的最大的那個數,這兩個數中若較大數可以被較小數除盡,則較小數為他們的最大公約數。

#define _crt_secure_no_warnings 1

#includeint main()

else

for (k = 1; k <= a; k++)

}printf("%d", b);

return 0;

}

#define _crt_secure_no_warnings 1

#include int main()

printf("%d", b);

return 0;

}

那如何跳出迴圈呢?  其實他自己可以跳出迴圈,因為在c語言中,0為假,非0為真,所以只要當while()中的值為0,則自動跳出。在這沒有按輾轉相除法的定義比較出兩個數的大小是因為不需要,就算是小數除以大數,其餘數也是那個大數,也就是多除一步的事。那最不濟的情況就是兩個數互質,那就是用迴圈到某一次的數除以 1,其餘數依然為0,也可以跳出迴圈。

思想就是建立乙個變數並賦值,然後用這個變數與那十個數依次比較,將較大值放入這個變數中,最後輸出即可。

#define _crt_secure_no_warnings 1

#includeint main();

int max = 0;

int i = 0;

for (i = 0; i < 10; i++)

} printf("%d\n", max);

return 0;

}

來個小公升級:找出最大值和次大值。

#define _crt_secure_no_warnings 1

#include int main()

; int max = a[0];

int sec = 0x80000000;

for (int i = 0; i < 9; i++)

else if(sec但是這種將max初始化為陣列第乙個元素會有弊端,當需要將這個陣列的最大值,次大值,次次大值等都要列印出來時,則每個巢狀的else if 中的a【i】需要依次+1,+2,+3等 ,十分不方便,顯得複雜,此時應該將max初始化為有符號的最小值,即0x80000000。**如下:

#define _crt_secure_no_warnings 1

#include int main()

; int max = 0x80000000;

int sec = 0x80000000;

int i;

for (i = 0; i < 10; i++)

else if (sec < arr[i])

}printf("%d\n", max);

printf("%d\n", sec);

return 0;

}

此時,若需要輸出最大值,次大值或次次大值等,只需巢狀即可。

Spring框架今日份練習

第乙個配置檔案 第二個配置檔案 factory method 指定工廠方法 arg 若需要傳參則用構造方法傳參 第三個配置檔案 第四個配置檔案 jdbc外部檔案 jdbc.driverclassname com.mysql.cj.jdbc.driver jdbc.url jdbc mysql loc...

今日份的喪

最近一段時間老是想讓別人認可自己,也總是很敏感,想得很多,做得很少。總感覺這樣很頹廢,卻不知道從哪兒開始改變自己。有時候很累就想去讀書,渴望從書中找到一點慰藉。我總是覺得生活不盡人意,卻不想去改變生活,最後被生活改變了自己,更別說目標和動力了,一點都沒有。我看不清未來是什麼樣子的,我甚至不知道我現在...

2020 08 07 今日份的hivesql

在查資料過程中,position cn 有為空的情況,仔細查過後發現這個空 可能是null,可能是空格,這就體現了資料的複雜性,在實際處理的時候要注意看資料到底有多少種情況。select hash cerno,pripid,case when position cn is null then 任職 ...