C語言練習 2

2021-08-30 06:23:58 字數 1310 閱讀 7474

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

#include #include int main()

引入第三個臨時變數實現兩個變數的交換。

2. 不允許建立臨時變數,交換兩個數的內容

#include #include int main()

可能出現的問題:num1或num2很大,num1+num2的結果溢位,產生錯誤的結果。

#include #include int main()

這樣就不會導致相加超過型別上限導致錯誤。

3.求10 個整數中最大值。

#include #include int main()

; int maxnum = numarr[0];

int n = sizeof(numarr) / sizeof(numarr[0]);

for (int i = 1; i < n; i++) }

printf("10個數里最大值為: %d\n" , maxnum);

system("pause");

return 0;

}

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

#include #include int main()

else

}else if (num2 >= num1 && num2 >= num3)

else

}else

else

}system("pause");

return 0;

}

5.求兩個數的最大公約數。

#include #include int main()

}} printf("最大公約數為: %d\n", maxcommondivisor);

system("pause");

return 0;

}

第一次在迴圈條件處,寫成了  i <= (num1 > num2) ? num2 : num1,根據優先順序變成了 (i <= (num1 > num2) )? num2 : num1,

不是想要的結果所以應該整體加上括號 i <= ((num1 > num2) ? num2 : num1)才能正確執行。

C語言 練習2

給定兩個整形變數的值,將兩個值的內容進行交換。include include intmain int arr2 int len sizeof arr1 sizeof arr1 0 int i 0 for i 0 i len i for i 0 i len i printf n for i 0 i l...

C語言 指標練習 2

int main 輸出結果 ff ff ff fc 4 分析 int main int ptr1 int aa 1 int ptr2 int aa 1 printf d d ptr1 1 ptr2 1 return 0 輸出結果 10 5 分析 aa,取的是二維陣列的位址,加1,跳過整個陣列,指向了...

C語言簡單練習(2)

給定兩個整形變數的值,將兩個值的內容進行交換。不允許建立臨時變數,交換兩個數的內容 附加題 求10 個整數中最大值。3.求10 個整數中最大值。將三個數按從大到小輸出。將三個數按從大到小輸出。求兩個數的最大公約數。求兩個數的最大公約數。void jiaohuan void jiaohuan2 voi...