DAY 2
生病一週使我身心俱疲,同時生活及學習上的計劃也整整擱淺一週,如今重獲新生的我將繼續乘風破浪,尋找心之所向,不再停歇。那麼,現在就讓我開始補上這一週的內容吧!!!
另外從DAY 3開始,每一個DAY NUM模塊下的每個題目我決定單獨發一遍以便於檢索。
1.給定兩個整形變量的值,將兩個值的內容進行交換。
這裏我的思路是引入一個臨時變量,將其中第一個值賦值給臨時變量來保存,然後便可用第二個值賦值給第一個值進行替換,最後將臨時變量中保留的值賦值給第二個值完成交換。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a = 0, b = 0, c = 0;
printf("請輸入要交換的兩個整型變量的值:\n");
printf("a = ");
scanf("%d", &a);
printf("b = ");
scanf("%d", &b);
c = a;
a = b;
b = c;
printf("交換後爲:\na = %d, b = %d\n", a, b);
system("pause");
return 0;
}
輸出結果:
2.不創建臨時變量,交換兩個數的內容。
這個便相對有一點繞了,但是道理是一樣的,只是需要利用到加減法,把兩個數的和用作中間變量。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int x = 0, y = 0;
printf("請輸入要交換的兩個整型變量的值:\n");
printf("a = ");
scanf("%d", &x);
printf("b = ");
scanf("%d", &y);
x = x + y;
y = x - y;
x = x - y;
printf("交換後爲:\na = %d, b = %d\n", x, y);
system("pause");
return 0;
}
輸出結果:
3.求10 個整數中最大值。
這裏用到數組和for循環。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int i = 0;
int MAX = 0;
int arr[10] = { 0 };
printf("請輸入10個整數:\n");
for (i = 0; i <= 9; i++){
scanf("%d", &arr[i]);
}
MAX = arr[1];
for (i = 1; i <= 9; i++){
if (arr[i] > MAX){
MAX = arr[i];
}
}
printf("最大值爲:%d\n", MAX);
system("pause");
return 0;
}
輸出結果:
4.將三個數按從大到小輸出。
通過三次比較交換來對三個數進行排序。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, c, t;
printf("請輸入3個整數:\n");
scanf("%d%d%d", &a, &b, &c);
if (a < b){
t = a;
a = b;
b = t;
}
if (a < c){
t = a;
a = c;
c = t;
}
if (b < c){
t = b;
b = c;
c = t;
}
printf("大小排序爲:\n%d %d %d\n", a, b, c);
system("pause");
return 0;
}
輸出結果:
5.求兩個數的最大公約數。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b;
printf("請輸入兩個整數:\n");
scanf("%d%d", &a, &b);
while (a != b){
if (a > b)
a = a - b;
else
b = b - a;
}
printf("最大公約數爲:\n%d\n", a);
system("pause");
return 0;
}
輸出結果: