习题 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

来源:互联网 发布:web性能测试软件 编辑:程序博客网 时间:2024/06/06 04:35

C程序设计(第四版) 谭浩强 习题4.3 个人设计

习题 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

(1) a + b > c && b == c

(2) a || b + c && b - c

(3) !(a >b) && !c || 1

(4) !(x = a) && (y = b) && 0

(5) !(a + b) + c - 1 && b + c/2

代码块:

方法1:(利用数组分别计算)

#include <stdio.h>int main(){    int a = 3, b = 4, c = 5;    int v[5], i, x, y;    v[0] = a+b>c && b == c;    v[1] = a||b+c && b-c;    v[2] = !(a>b) && !c||1;    v[3] = !(x=a) && (y=b) && 0;    v[4] = !(a+b)+c-1 && b+c/2;    for (i = 0; i < 5; i++)        printf("v%d value is %d\n", i+1, v[i]);    return 0;}

方法2:(利用switch选择结构)

#include <stdio.h>int main(){    int a = 3, b = 4, c = 5, n, x, y, v;    printf("Please enter number:");    scanf("%d", &n);    switch(n){    case 1: v = a+b>c && b == c; break;    case 2: v = a||b+c && b-c; break;    case 3: v = !(a>b) && !c||1; break;    case 4: v = !(x=a) && (y=b) && 0; break;    case 5: v = !(a+b)+c-1 && b+c/2; break;    default: printf("Error!\n"); break;    }    if (v >=1 && v <=5)        printf("v%d value is %d\n", n, v);    return 0;}

方法3:(利用函数的模块化设计)

#include <stdio.h>void value(int x);                             //定义公式值判断函数int a = 3, b = 4, c = 5, x, y;                 //定义全局变量int main(){    int n;    printf("Please enter number:");    scanf("%d", &n);    value(n);    return 0;}//公式值判断函数void value(int x){    int v;    switch(x){    case 1: v = a+b>c && b == c; break;    case 2: v = a||b+c && b-c; break;    case 3: v = !(a>b) && !c||1; break;    case 4: v = !(x=a) && (y=b) && 0; break;    case 5: v = !(a+b)+c-1 && b+c/2; break;    default: printf("Error!\n"); break;    }    if (x >=1 && x <=5)        printf("v%d value is %d\n", x, v);}
阅读全文
0 0
原创粉丝点击