(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 任職 ...