【C初識之習題一】

1.給定兩個整形變量的值,將兩個值的內容進行交換。
此題思路:定義臨時變量c

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a = 3, b = 4, c;  //定義變量
    printf("初始值:%d %d\n", a, b);
    c = a; 
    a = b; 
    b = c;
    printf("交換後:%d %d\n", a, b);
    system("pause");
    return 0;
}

執行結果如下:
【C初識之習題一】

2 不允許創建臨時變量,交換兩個數的內容(附加題)
此題思路:運用a和b的差值進行運算交換

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a = 3, b = 4;
    printf("初始值:%d %d\n", a, b);
    a = a + b;
    b = a - b;
    a = a - b;
    printf("交換後:%d %d\n", a, b);
    system("pause");
    return 0;
}

執行結果如下:
【C初識之習題一】

3.求10 個整數中最大值。
此題思路:在不定義指針變量的情況下求出最大值。
注意:建議不要使用數組進行逐個比較,原因數組索引必須爲正整數或邏輯值。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int num, max=0x80000000;//給max附一個最小值
    for (int i = 0; i < 10; i++){
        scanf("%d", &num);
        if (num>max)
            max = num;
    }
    printf(" %d\n", max );
    system("pause");
    return 0;
}

執行結果如下:
【C初識之習題一】
4.將三個數按從大到小輸出
此題思路:兩兩比較,互相交換保證大在前小在後

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a, b, c, m;
    scanf(" %d %d %d" ,&a,&b,&c);
    if (a<b)
    {
        m = a;  a = b; b = a;
    }
    if (a<c)
    {
        m = a; a = c; c = a;
    }
    if (b<c)
    {
        m = b; b = c; c = b;
    }
    printf("從大到小排序爲:%d %d %d\n", a, b, c);
    system("pause");
    return  0;
}

執行結果如下:
【C初識之習題一】
5.求兩個數的最大公約數。
解題思路1:對i進行遍歷,是否能被兩個整數同時整除(比較慢)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{  
    int a=0, b=0, max=0;
    scanf("%d %d", &a, &b);
    int smaller;
    smaller = a > b ? b : a;
    for (int i = 2; i <= smaller; i++){
        if (a%i == 0 && b%i == 0){
            max = i;
        }   
    }
    printf("最大公約數:%d\n", max);
    system("pause");
    return 0;
}

【C初識之習題一】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章