《明解C语言》示例代码和练习代码[第3章]

第3章 分支结构程序


示例代码:


示例代码 3-1
/*
    输入的整数能被5整除吗 
*/

#include <stdio.h>

int main(void)
{
    int vx;
    
    printf("请输入一个整数:");
    scanf("%d", &vx);
    
    if (vx % 5)
        puts("输入的整数不能被5整除。");    
        
    return (0);
}

示例代码 3-2
/*
    输入的整数是奇数吗 
*/

#include <stdio.h>

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);
    
    if (no % 2)
        puts("输入的整数是奇数。");    
        
    return (0);
}

示例代码 3-3
/*
    输入的整数能否被5整除 
*/

#include <stdio.h>

int main(void)
{
    int vx;
    
    printf("请输入一个整数:");
    scanf("%d", &vx);
    
    if (vx % 5)
        puts("该整数不能被5整除。");   
    else
        puts("该整数能被5整除。"); 
        
    return (0);
}

示例代码 3-4
/*
    输入的整数是奇数还是偶数 
*/

#include <stdio.h>

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);
    
    if (no % 2)
        puts("该整数是奇数。");   
    else
        puts("该整数是偶数。"); 

    return (0);
}

示例代码 3-5
/*
    输入的整数值是否为0 
*/

#include <stdio.h>

int main(void)
{
    int num;
    
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    if (num)
        puts("该整数不是0。");   
    else
        puts("该整数是0。"); 
        
    return (0);
}

示例代码 3-6
/*
    输入的两个整数相等吗 
*/

#include <stdio.h>

int main(void)
{
    int x1, x2;
    
    puts("请输入两个整数。");
    printf("整数1:");    scanf("%d", &x1);    
    printf("整数2:");    scanf("%d", &x2);
    
    if (x1 == x2)
        printf("它们相等。\n");
    else
        printf("它们不相等。\n"); 
    
    return (0); 
}

示例代码 3-7
/*
    输入的两个整数相等吗 (第二版) 
*/

#include <stdio.h>

int main(void)
{
    int x1, x2;
    
    puts("请输入两个整数。");
    printf("整数1:");    scanf("%d", &x1);    
    printf("整数2:");    scanf("%d", &x2);
    
    if (x1 != x2)
        printf("它们不相等。\n");
    else
        printf("它们相等。\n"); 

    return (0); 
}

示例代码 3-8
/*
    个位数是5吗 
*/

#include <stdio.h>

int main(void)
{
    int vx;
    
    printf("请输入一个整数:");
    scanf("%d", &vx);
    
    if (vx % 10 == 5)    
        puts("该整数的个位数是5。");

    return (0);
}

示例代码 3-9
/*
    判断输入整数的符号 
*/

#include <stdio.h>

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);
    
    if (no == 0)    
        puts("该整数为0。");
    else if (no > 0)
        puts("该整数为正数。");
    else
        puts("该整数为负数。");
        
    return (0);
}

示例代码 3-10
/*
    显示出输入的两个整数中较大的数 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    if (n1 > n2)
        printf("较大的数是%d。\n", n1);
    else
        printf("较大的数是%d。\n", n2);
    
    return (0);
}

示例代码 3-11
/*
    显示出输入的两个整数中较大的数并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, max;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    if (n1 > n2)
        max = n1;
    else
        max = n2;
        
    printf("较大的数是%d。\n", max);
    
    return (0);
}

示例代码 3-12
/*
    计算输入的三个整数中的最大值并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, n3, max;
    
    puts("请输入三个整数。");
    printf("整数1:");    scanf("%d", &n1);    
    printf("整数2:");    scanf("%d", &n2);
    printf("整数3:");    scanf("%d", &n3);
    
    max = n1;
    if (n2 > max)    max = n2;
    if (n3 > max)    max = n3;
    
    printf("最大值是%d。\n", max);

    return (0); 
}

示例代码 3-13
/*
    计算输入的两个整数中较大的数并显示(条件运算符) 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, max;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
        
    max = (n1 > n2) ? n1 : n2;             // 将较大的值赋给max    
    
    printf("较大的数是%d。\n", max);

    return (0);
}

示例代码 3-14
/*
    计算输入的两个整数的差并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
        
    printf("它们的差是%d。\n", (n1 > n2) ? n1 - n2 : n2 - n1);
    
    return (0);
}

示例代码 3-15
/*
    计算输入的两个整数中较大数和较小数并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, max, min;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    if (n1 > n2) {
        max = n1;
        min = n2;       
    } else {
        max = n2;
        min = n1;
    }  
    
    printf("较大的数是%d。\n", max);
    printf("较小的数是%d。\n", min);
    
    return (0);
}

示例代码 3-16
/*
     显示输入月份所处的季节 
*/

#include <stdio.h>

int main(void)
{
    int month;                  // 月 
    
    printf("请输入月份:");
    scanf("%d", &month);
    
    if (month >= 3 && month <= 5)
        puts("春天"); 
    else if (month >= 6 && month <= 8)
        puts("夏天"); 
    else if (month >= 9 && month <= 11)
        puts("秋天");
    else if (month == 1 || month == 2 || month == 12)
        puts("冬天");
    else
        puts("输入月份不存在!!\a");
        
    return (0);    
}

示例代码 3-17
/*
    显示出输入整数除以3的余数 
*/

#include <stdio.h>

int main(void)
{
    int num;
    
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    if (num % 3 == 0)
        puts("该数能被3整除。");
    else if (num % 3 == 1)
        puts("该数除以3的余数是1。");
    else
        puts("该数除以3的余数是2。"); 
        
    return (0);
}

示例代码 3-18
/*
    显示出输入整数除以3的余数 (switch语句)
*/

#include <stdio.h>

int main(void)
{
    int num;
    
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    switch (num % 3) {
        case 0:
            puts("该数能被3整除。");
            break;
        case 1: 
            puts("该数除以3的余数是1。");
            break;
        case 2:
            puts("该数除以3的余数是2。");      
    }

    return (0);
}

示例代码 3-19
/*
    确认switch语句动作的程序 
*/

#include <stdio.h>

int main(void)
{
    int sw;
    
    printf("请输入一个整数:");
    scanf("%d", &sw);
    
    switch (sw) {
        case 1: puts("A");    puts("B");    break;
        case 2: puts("C");    break;
        case 5: puts("D");    break;
        case 6:
        case 7: puts("E");    break;
        default : puts("F");    break;        
    }
    
    return (0);
}


练习代码 :


练习代码 e3-1
/*
    判断是否为约数 
*/

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a, b;
    
    puts("请输入两个整数。");
    printf("整数A:");    scanf("%d", &a);    
    printf("整数B:");    scanf("%d", &b);
    
    if (a % b)
        printf("B不是A的约数。\n");
    else
        printf("B是A的约数。\n"); 
    
    return (0); 
}

练习代码 e3-2
/*
    关系运算符 
*/

#include <stdio.h>

int main(void)
{
    int a, b;
    
    puts("输入两个整数:");
    printf("整数a:");    scanf("%d", &a);
    printf("整数b:");    scanf("%d", &b);
    
    printf("%d > %d,   %d\n", a, b, a > b);
    printf("%d < %d,   %d\n", a, b, a < b);
    printf("%d = %d,   %d\n", a, b, a == b);
    printf("%d >= %d,  %d\n", a, b, a >= b);
    printf("%d <= %d,  %d\n", a, b, a <= b);
    
    return (0);
}

练习代码 e3-3
/*
    显示绝对值 
*/

#include <stdio.h>

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);
    
    if (no < 0)
        printf("绝对值是%d。\n", -no);
    else    
        printf("绝对值是%d。\n", no);

    return (0);
}

练习代码 e3-4
/*
    判断大小 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    if (n1 < n2)
        printf("A小于B。\n");
    else if (n1 > n2) 
        printf("A大于B。\n");
    else
        printf("A等于B。\n");
    
    return (0);
}

练习代码 e3-5
/*
    计算输入的三个整数中的最小值并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, n3, min;
    
    puts("请输入三个整数。");
    printf("整数1:");    scanf("%d", &n1);    
    printf("整数2:");    scanf("%d", &n2);
    printf("整数3:");    scanf("%d", &n3);
    
    min = n1;
    if (n2 < min)    min = n2;
    if (n3 < min)    min = n3;
    
    printf("最小值是%d。\n", min);

    return (0); 
}

练习代码 e3-6
/*
    计算输入的四个整数中的最大值并显示 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, n3, n4, max;
    
    puts("请输入四个整数。");
    printf("整数1:");    scanf("%d", &n1);    
    printf("整数2:");    scanf("%d", &n2);
    printf("整数3:");    scanf("%d", &n3);
    printf("整数4:");    scanf("%d", &n4);
    
    max = n1;
    if (n2 > max)    max = n2;
    if (n3 > max)    max = n3;
    if (n4 > max)    max = n4;
    
    printf("最大值是%d。\n", max);

    return (0); 
}

练习代码 e3-7
/*
    计算输入的两个整数的差并显示 (使用if语句)
*/

#include <stdio.h>

int main(void)
{
    int n1, n2;
    
    puts("请输入两个整数:");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    if (n1 > n2)
        printf("它们的差是%d。\n", n1 - n2);
    else
        printf("它们的差是%d。\n", n2 - n1);
    
    return (0);
}

练习代码 e3-8
/*
    计算输入的三个整数中的最小值并显示 (使用条件运算符) 
*/

#include <stdio.h>

int main(void)
{
    int n1, n2, n3, min;
    
    puts("请输入三个整数。");
    printf("整数1:");    scanf("%d", &n1);    
    printf("整数2:");    scanf("%d", &n2);
    printf("整数3:");    scanf("%d", &n3);
    
    min = n1;
    if (n2 < min)    min = n2;
    if (n3 < min)    min = n3;
    
    printf("最小值是%d。\n", n3 < (min = (n1 < n2) ? n1 : n2) ? n3 : min);

    return (0); 
}

练习代码 e3-9
/*
    判断三个整数是否相等 
*/ 

#include <stdio.h>

int main(void)
{
    int n1, n2, n3;
    
    puts("请输入三个整数。");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    printf("整数C:");    scanf("%d", &n3);
    
    if (n1 == n2 && n2 == n3) 
        puts("三个值都相等");
    else if (n1 == n2 || n1 == n3 || n2 == n3)
        puts("有两个值相等");
    else
        puts("三个值各不相等");
    return (0);       
}

练习代码 e3-10
/*
    判断两个整数的差(使用逻辑或运算符) 
*/ 

#include <stdio.h>

int main(void)
{
    int n1, n2, max, min;
    
    puts("请输入两个整数。");
    printf("整数A:");    scanf("%d", &n1);
    printf("整数B:");    scanf("%d", &n2);
    
    max = (n1 - n2) > 0 ? n1 : n2;
    min = (n1 - n2) < 0 ? n1 : n2;
    
    if (max - min < 10 || max - min == 0)
        puts("它们的差小于等于10");
    else
        puts("它们的差大于等于11"); 
        
    return (0);       
}

练习代码 e3-11
/*
    输入的整数是奇数还是偶数 (switch语句) 
*/

#include <stdio.h>

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);
    
    switch (no % 2) {
        case 0 : puts("该整数是偶数。");    break;
        case 1 : puts("该整数是奇数。");    break;       
    }
        
    return (0);
}

练习代码 e3-12
/*
     显示输入月份所处的季节 (switch语句) 
*/

#include <stdio.h>

int main(void)
{
    int month;                  // 月 
    
    printf("请输入月份:");
    scanf("%d", &month);
    
    switch (month) {
        case 1 :
        case 2 :
        case 12 : puts("冬天");   break;
        case 3 :
        case 4 :
        case 5 : puts("春天");    break;
        case 6 :
        case 7 :
        case 8 : puts("夏天");    break;
        case 9 :
        case 10 :
        case 11 : puts("秋天");    break;
        default : puts("输入月份不存在!!\a");    break;     
    }
        
    return (0);    
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值