明解C语言第八章习题

简介: 明解C语言第八章习题

练习8-1

#include<stdio.h>
#define diff(x,y)(x-y)
int main() {
    int x;
    int y;
    printf("x=");
    scanf("%d", &x);
    printf("y=");
    scanf("%d", &y);
    printf("%d", diff(x, y));

}

练习8-2


#include <stdio.h>
int max (int x,int y)
{
  return (x>y?x:y)
}
int main() {
    int a, b, c, d;
    int max1, max2;
    printf("请输入a b c d 的值:\n");
    scanf("%d",&a);
    scanf("%d", &b);
    scanf("%d", &c);
    scanf("%d", &d);
    max1 = max(max(a, b), max(c, d)); 
    printf("最大值是%d", max1);
    putchar('\n');
    max2 = max(max(max(a, b), c), d);  
    printf("最大值是%d", max2);

}

练习8-3

#include <stdio.h>
#define swap(int,a,b) {int temp;temp = a;x = y;y = temp;}
int main(void){
    int x = 5;
    int y = 10;
    swap(int, x, y);
    printf("x = %d\ny = %d\n", x, y);
    return 0;
}

练习8-4


#include <stdio.h>
#define number 6
void bsort(int n, int v[]) {
    int i, j;
    for (i = 0; i < n - 1; i++) {
        for (j = n - 1; j > i; j--) {
            if (v[j - 1] < v[j]) {
                int tem = v[j];
                v[j] = v[j - 1];
                v[j - 1] = tem;
            }
        }
    }
}

int main() {
    int i;
    int v[number];

    for (i = 0; i < number; i++) {
        printf("v[%d]=", i);
        scanf("%d", &v[i]);
    }
    putchar('\n');

    bsort(number, v);
    for (i = 0; i < number; i++)
    {
        printf("v[%d]=%d\n", i, v[i]);
    }

}

练习8-5

#include <stdio.h>
enum season{春,夏,秋,冬,Invaild};
enum season select(void) {
    int tmp;
    do {
        printf("0...春   1...夏   2...秋   3...冬   4...结束");
        scanf("%d", &tmp);
    } while (tmp< 春 || tmp> Invaild);
    return tmp;
}
int main(void) {
    enum season selected;
    do {
        switch (selected=select())
        {
        case 春:break;
        case 夏:break;
        case 秋:break;
        case 冬:break; 
        }    
    } while (selected != Invaild);
    return 0;
    
}
相关文章
TU^
|
5月前
|
存储 C语言
C语言习题~day35
C语言习题~day35
TU^
29 1
|
3月前
|
机器学习/深度学习 C语言
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
要保持最小的步数,每一次汉诺塔问题(无论是最初还是递归过程中的),如果此时初始柱盘子数为偶数,我们第一步是把最上面的盘子移动到中转柱,如果为奇数,我们第一步则是将其移动到目标柱。
81 0
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
TU^
|
5月前
|
算法 程序员 C语言
C语言习题~day36
C语言习题~day36
TU^
40 1
TU^
|
5月前
|
存储 C语言
C语言习题~day34
C语言习题~day34
TU^
34 1
TU^
|
5月前
|
算法 C语言
C语言习题~day33
C语言习题~day33
TU^
29 1
TU^
|
5月前
|
C语言
C语言习题~day32
C语言习题~day32
TU^
18 1
TU^
|
5月前
|
C语言
C语言习题~day39
C语言习题~day39
TU^
21 0
C语言习题~day39
|
5月前
|
IDE 编译器 开发工具
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
42 0
TU^
|
5月前
|
存储 C语言
C语言习题~day38
C语言习题~day38
TU^
26 0
TU^
|
5月前
|
C语言
C语言习题~day37
C语言习题~day37
TU^
21 0