C语言基础入门案例(2)

本文详细介绍了五个编程练习题目,包括基于switch语句的等级评估程序、学生成绩评定、计算圆的周长和面积、将整数排序以及打印九九乘法表,涉及用户输入验证、条件判断和基本数学计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

第一题:编写一个基于switch语句的等级评估程序

第二题:学生成绩评定

第三题:计算圆的周长和面积

第四题:将三个整数按从大到小顺序输出

第五题:打印九九乘法表


第一题:编写一个基于switch语句的等级评估程序

描述:
编写一个程序,该程序接收用户输入的等级字符(A、B、C、D、E),并使用switch语句判断等级,输出对应的描述信息。等级对应的描述如下:

  • A:优秀
  • B:良好
  • C:中等
  • D:及格
  • E:不及格

要求:

  1. 程序应提示用户输入等级字符。
  2. 用户输入的等级字符必须为大写字母(A、B、C、D、E)。
  3. 程序应使用switch语句来判断用户输入的等级,并输出对应的描述。
  4. 如果用户输入的字符不是A、B、C、D、E中的任意一个,程序应输出错误信息,并提示用户重新输入。

示例:
假设用户输入了等级字符"A",程序应输出"优秀"。
如果用户输入了非法的等级字符(如"F"),程序应输出错误信息,并提示用户重新输入。

提示:

  • 使用scanf函数接收用户输入。
  • 使用switch语句进行条件判断。
  • 使用printf函数输出结果。
  • 注意检查用户输入是否合法,如果不合法,应提示用户重新输入。

代码实现:

#include <stdio.h>  
  
int main()  
{  
    // 定义变量保存用户输入的等级  
    char grade;  
    int isValid = 0; // 标志变量,用于检查输入是否有效  
  
    // 循环直到用户输入了一个有效的等级字符  
    while (!isValid)  
    {  
        printf("请输入等级(A、B、C、D、E):\n");  
        scanf(" %c", &grade); // 注意%c前的空格,用于跳过任何之前的空白字符  
  
        // 检查输入是否合法  
        switch (grade)  
        {  
        case 'A':  
        case 'B':  
        case 'C':  
        case 'D':  
        case 'E':  
            isValid = 1; // 输入有效,设置标志变量  
            break;  
        default:  
            printf("输入等级有误,请重新输入\n");  
            break;  
        }  
    }  
  
    // 根据用户输入的等级输出对应的描述  
    switch (grade)  
    {  
    case 'A':  
        printf("优秀\n");  
        break;  
    case 'B':  
        printf("良好\n");  
        break;  
    case 'C':  
        printf("中等\n");  
        break;  
    case 'D':  
        printf("及格\n");  
        break;  
    case 'E':  
        printf("不及格\n");  
        break;  
    }  
  
    return 0;  
}

运行结果:

第二题:学生成绩评定

描述:
编写一个程序,从屏幕上接收用户输入的学生成绩(0 - 100分),然后根据成绩范围进行评定。评定规则如下:

  • 成绩小于60分为E
  • 成绩在60到69分之间为D
  • 成绩在70到79分之间为C
  • 成绩在80到89分之间为B
  • 成绩在90分以上为A
  • 如果成绩小于0或大于100,则提示成绩输入出错

要求:

  1. 程序应提示用户输入成绩。
  2. 用户输入的成绩应为整数。
  3. 程序应根据成绩范围输出对应的评定结果。
  4. 如果成绩不在0到100的范围内,程序应提示用户输入有误。

示例:
假设用户输入的成绩为85,程序应输出“B”。
如果用户输入的成绩为-5,程序应提示“成绩输入出错”。

提示:

  • 可以使用scanf函数从屏幕上读取用户输入的成绩。
  • 使用if-else if-else语句根据成绩范围进行评定。

代码实现:

#include <stdio.h>  
  
int main() {  
    int score;  
    printf("请输入学生的成绩(0 - 100):");  
    scanf("%d", &score);  
  
    if (score < 0 || score > 100) {  
        printf("成绩输入出错\n");  
    } else if (score < 60) {  
        printf("E\n");  
    } else if (score >= 60 && score < 70) {  
        printf("D\n");  
    } else if (score >= 70 && score < 80) {  
        printf("C\n");  
    } else if (score >= 80 && score < 90) {  
        printf("B\n");  
    } else {  
        printf("A\n");  
    }  
  
    return 0;  
}

运行结果:

 

第三题:计算圆的周长和面积

计算圆的周长和面积

描述:
给定一个圆的半径,编写一个程序来计算并输出该圆的周长和面积。

要求:

  1. 程序应提示用户输入圆的半径。
  2. 用户输入的半径应为正实数。
  3. 程序应使用公式计算圆的周长和面积。
    • 圆的周长公式:C = 2 * π * r
    • 圆的面积公式:A = π * r^2
  4. 输出结果应保留两位小数。

示例:
假设用户输入的半径为5,则程序应输出:
周长:31.42
面积:78.54

提示:

  • 可以使用scanf函数从屏幕上读取用户输入的半径。
  • 使用数学常量M_PI来表示圆周率π。
  • 使用printf函数输出结果,并使用%.2f格式化输出保留两位小数。

代码实现:

#include <stdio.h>  
#include <math.h>  
  
int main() {  
    double radius, circumference, area;  
      
    // 提示用户输入半径  
    printf("请输入圆的半径:");  
    scanf("%lf", &radius);  
      
    // 计算圆的周长和面积  
    circumference = 2 * M_PI * radius;  
    area = M_PI * radius * radius;  
      
    // 输出结果,保留两位小数  
    printf("周长:%.2f\n", circumference);  
    printf("面积:%.2f\n", area);  
      
    return 0;  
}

运行结果:

第四题:将三个整数按从大到小顺序输出

描述:
编写一个程序,接收用户输入的三个整数,并将这三个整数按照从大到小的顺序输出。

要求:

  1. 程序应提示用户分别输入三个整数。
  2. 输入的整数应为合法整数,不包含小数或字符。
  3. 程序应判断输入的整数是否有效,如果输入的不是整数,应提示用户重新输入。
  4. 程序应将输入的三个整数按照从大到小的顺序输出。

示例:
假设用户输入的三个整数分别为 5、10 和 8,程序应输出:
10 8 5

提示:

  • 可以使用scanf函数从标准输入读取整数。
  • 可以使用条件语句和临时变量来实现整数的比较和交换。

代码实现: 

#include <stdio.h>

int main()
{
    // 写代码将三个整数数按从大到小输出。

    // 例如:

    // 输入:2 3 1

    // 输出:3 2 1

    // 六种情况:a,b,c  a,c,b   b,a,c   b,c,a   c,b,a    c,a,b

    int a, b, c;
    int temp;

    // 提示用户输入三个整数
    printf("请输入第一个整数:");
    if (scanf("%d", &a) != 1)
    {
        printf("输入无效,请输入一个整数。\n");
        return 1; // 输入无效时退出程序
    }

    printf("请输入第二个整数:");
    if (scanf("%d", &b) != 1)
    {
        printf("输入无效,请输入一个整数。\n");
        return 1; // 输入无效时退出程序
    }

    printf("请输入第三个整数:");
    if (scanf("%d", &c) != 1)
    {
        printf("输入无效,请输入一个整数。\n");
        return 1; // 输入无效时退出程序
    }

    // 使用条件语句和临时变量进行排序
    if (a < b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (a < c)
    {
        temp = a;
        a = c;
        c = temp;
    }
    if (b < c)
    {
        temp = b;
        b = c;
        c = temp;
    }

    // 输出排序后的整数
    printf("从大到小排序后的整数为:%d %d %d\n", a, b, c);

    return 0;
}

运行结果:

 

第五题:打印九九乘法表

描述:
九九乘法表是中国古代小学生学习乘法的一种方法,也被称为“九九歌”。现在,请你编写一个程序,用于打印出完整的九九乘法表。

要求:

  1. 打印出的九九乘法表应为9行9列,每行输出对应的乘法运算和结果。
  2. 每行输出的乘法运算应使用“×”表示乘法操作。
  3. 每行输出的乘法结果应与乘法运算之间用制表符(\t)分隔。
  4. 每行输出的末尾不应有多余的空格或制表符。

示例输出:

1×1=1

1×2=2 2×2=4

1×3=3 2×3=6 3×3=9

1×4=4 2×4=8 3×4=12 4×4=16

1×5=5 2×5=10 3×5=15 4×5=20 5×5=25

1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36

1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49

1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64

1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

提示:

  • 你可以使用两个嵌套的循环来遍历乘法表的行和列。
  • 使用printf函数进行格式化输出,确保每行的乘法运算和结果之间使用制表符分隔。
  • 注意每行的末尾不要有多余的制表符或空格。

 代码实现:

#include <stdio.h>  
  
int main() {  
    int i, j;  
    for (i = 1; i <= 9; i++) {  
        for (j = 1; j <= i; j++) {  
            printf("%d×%d=%d\t", j, i, i * j);  
        }  
        printf("\n"); // 换行  
    }  
    return 0;  
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值