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

目录

第一题:编写一个基于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;  
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/546094.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TXT文本批量高效编辑,支持给文章结尾进行添加上相同的结语,轻松应对多个文本

在信息爆炸的时代&#xff0c;我们每天面对大量的文本信息&#xff0c;无论是工作文档、新闻稿件还是社交媒体内容&#xff0c;都需要进行高效、精准的编辑。而XT文本批量编辑器正是您理想的助手&#xff0c;它支持批量高效编辑&#xff0c;更能在文章结尾添加上您想要的相同结…

Knowledge Editing for Large Language Models: A Survey

目录 IntroductionProblem Formulation评估指标Methods数据集应用讨论挑战未来方向 大型语言模型&#xff08;LLMS&#xff09;最近由于其出色的理解&#xff0c;分析和生成文本的能力而根据其广泛的知识和推理能力来改变了学术和工业景观。然而&#xff0c;LLM的一个主要缺点是…

韩顺平Java | C25 JDBC和连接池(上)

概述 JDBC概述&#xff1a;JDBC为访问不同数据库提供统一接口&#xff0c;为使用者屏蔽细节问题。Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统&#xff0c;从而完成对数据库的各种操作。 // 模拟代码 //JdbcInterface.java --Java规定的JDBC接口(方法) p…

计算机网络——抓取icmp包

前言 本博客是博主用于记录计算机网络实验的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 抓包 我们是用Wireshark工具来进行抓包的。 ​在安装时候一路打勾安装即可&#xff0c;不过最后那个因为是英文&#xff0c;一定要看清&#xff0c;点了立即重启&am…

采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示

采用C#.Net JavaScript 开发的云LIS系统源码 二级医院应用案例有演示 一、系统简介 云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序&#xff0c;可协助区域内所有临床实验室相互协调并完成日常检验工作&#xff0c;对区域内的检验数据进行集中管理和共享&#xff0…

【UE5.1】使用MySQL and MariaDB Integration插件——(2)查询

在上一篇&#xff08;【UE5.1】使用MySQL and MariaDB Integration插件——&#xff08;1&#xff09;连接MySQL&#xff09;基础上继续实现查询MySQL数据表功能。 效果 步骤 1. 这里先新建一个控件蓝图&#xff0c;命名为“WBP_OperateDB”&#xff0c;该界面用于在连接数据…

Java——线程

程序 为实现某些功能&#xff0c;使用计算机语言编写的一系列指令(代码)的集合 特指静态的&#xff0c;安装在硬盘中的代码集合 进程 运行中的程序(被加载到内存中)&#xff0c;是操作系统进行资源分配的最小单位 线程 进程可以进一步细化为线程&#xff0c;是进程内一个…

运费计算(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int distance, c;float weight, price, discount, fee;//提示用户&#xff1b;printf("请输入路程&#xff0c;单价…

自动驾驶时代的物联网与车载系统安全:挑战与应对策略

随着特斯拉CEO埃隆马斯克近日对未来出行景象的描绘——几乎所有汽车都将实现自动驾驶&#xff0c;这一愿景愈发接近现实。马斯克生动比喻&#xff0c;未来的乘客步入汽车就如同走进一部自动化的电梯&#xff0c;无需任何手动操作。这一转变预示着汽车行业正朝着高度智能化的方向…

C语言基础---指针的基本语法

概述 内存地址 在计算机内存中&#xff0c;每个存储单元都有一个唯一的地址(内存编号)。通俗理解&#xff0c;内存就是房间&#xff0c;地址就是门牌号 指针和指针变量 指针&#xff08;Pointer&#xff09;是一种特殊的变量类型&#xff0c;它用于存储内存地址。指针的实…

六、数据呈现

目录 6.1 理解输入输出 6.1.1 标准文件描述符 1 STDIN &#xff08;0&#xff09; 2 STDOUT &#xff08;1&#xff09; 3 STDERR&#xff08;2&#xff09; 6.1.2 重定向错误 1 只重定向错误 2 重定向错误和数据 6.2 在脚本中重定向输出 6.2.1 临时重定向 6.2.2 永…

腾讯云全新云服务器实例S8/M8正式上线,性能提升高达115%!

2024年4月15日&#xff0c;腾讯云正式上线第八代云服务器标准型实例 S8和内存型实例M8。基于自研服务器的高密设计与硬件升级&#xff0c;搭载第五代英特尔至强可扩展处理器的腾讯云实例S8/M8&#xff0c;计算性能大幅提升&#xff0c;对比腾讯云云服务器上代实例&#xff0c;整…

Ubuntu 22.04安装中文输入法

1. 安装 sudo apt install fcitx5 2. 管理已安装的语言 Setting->Region & Language->Manage Installed Language 在下图中点击“安装”&#xff0c;之后需要等一会 选择Fcitx 5 3. 添加输入法 Setting->Keyboard 点击chinese 选择你想要的输入法 重启一下&a…

React + 项目(从基础到实战) -- 第七期

使用ant design 表单组件,开发登录,注册,搜索功能 React 表单组件 ,受控组件 案列 使用defaultVlue属性 bug : 改变了数据源,但是页面未重新渲染 {/* 表单组件 */}<button onClick{()>{console.log(text);}}>打印</button><button onClick{()>[setText(&…

【网络编程】Linux网络内核结构以及分布剖析

hello &#xff01;大家好呀&#xff01; 欢迎大家来到我的网络编程系列之Linux网络内核结构以及分布剖析&#xff0c;在这篇文章中&#xff0c;你将会学习到在Linux内核中如何实现网络数据的输入和输出的&#xff0c;并且我会给出源码进行剖析&#xff0c;以及手绘UML图来帮助…

《TinyLlama: An Open-Source Small Language Model》全文翻译

【Title】 TinyLlama&#xff1a;开源小语言模型 【Abstract】 我们推出了 TinyLlama&#xff0c;这是一个紧凑的 1.1B 语言模型&#xff0c;在大约 1 万亿个令牌上进行了大约 3 个时期的预训练。 TinyLlama 基于 Llama 2&#xff08;Touvron 等人&#xff0c;2023b&#xff…

【Python】#3 基本程序控制

文章目录 一、分支结构if语句&#xff08;Python没有switch&#xff09;tips:紧凑形式&#xff1a;适用于简单表达式的二分支结构 二、循环结构1. for语句range函数 2. while语句3. 循环保留字&#xff1a;break/continue与带else的循环语句 一、分支结构if语句&#xff08;Pyt…

关于伴行天使车载监护器的技术路线

为了判断分析并反馈孩童是否昏睡状态&#xff0c;以预防因分心后排而导致的交通事故&#xff0c;本团队根据基于回归树对齐算法中获取的数据&#xff0c;建立了疲劳度评分机制。 本评分机制采用人脸关键点智能标注模型检测人脸&#xff0c;通过人脸识别68特征点检测、分别获取…

16.读取指定路径下的txt文档然后合并内容为一个txt文档。

1.题目要求 分别读取路径为 ./middle/phone/base/1_student_0.txt, ./middle/vr/base/1_teacher.txt, ./nearby/phone/base/1_student_0.txt, ./nearby/vr/base/1_teacher.txt, ./outside/phone/base/1_student_0.txt, ./outside/vr/base/1_teacher.txt 里面的文件&#xff…

【MATLAB源码-第43期】基于matlab的turbo码误码率仿真比较不同迭代次数,采用logmap/sova算法。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 Turbo码是一种前向纠错码 (Forward Error Correction, FEC)&#xff0c;在 1993 年由法国的两位研究员 Claude Berrou 和 Alain Glavieux 提出。这种编码技术以其接近 Shannon 极限的高性能而受到广泛关注。以下是关于 Turbo…