第二次实验判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”

一:实验内容:1:判断成绩等级。

给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现

#include <stdio.h>
int main()
{
    int grade;
    scanf("%d",&grade);
    if(grade>100||grade<0)
    {
        printf("数据错误");
    }
    else
    {
        switch(grade/10)
        {
        case 10:
        case 9:
            printf("A");
            break;
        case 8:
            printf("B");
            break;
        case 7:
            printf("C");
            break;
        case 6:
            printf("D");
            break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
            printf("E");
            break;
        }
        return 0;
    }
}

#include<stdio.h>
int main()
{
    int grade;
    scanf("%d",&grade);
    if(grade>100||grade<0)
    {
        printf("数据错误");
    }
    else if(grade>=90&&grade<=100)
    {
        printf("A");
    }
    else if(grade>=80)
    {
        printf("B");
    }
    else if(grade>=70)
    {
        printf("C");
    }
    else if(grade>=60)
    {
        printf("D");
    }
    else if(grade<60)
    {
        printf("E");
    }
    return 0;
}

2:

  1. 判断整数位数及逆序输出。

输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。

#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a>9999||a<0)
    {
        printf("数据错误");
    }
    else
    {
        if(a/10000>1)
        {
            printf("a是5位数");
        }
        else if(a/1000>1)
        {
            printf("a是4位数");
        }
        else if(a/100>1)
        {
            printf("a是3位数");
        }
        else if(a/10>1)
        {
            printf("a是2位数");
        }
        else
        {
            printf("a是1位数");
        }
    }
    return 0;
}

3:

回文数问题

给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。

#include <stdio.h>
int main()
{
    int a,b,c,d,e,f,g,h,i;
    scanf("%d",&a);
    b=a/10000;
    c=a%10000;
    d=c/1000;
    e=c%1000;
    f=e/100;
    g=e%100;
    h=g/10;
    i=g%10;
    if(b==i&&d==h)
    {
        printf("a是一个回文数");
    }
    else
    {
        printf("a不是一个回文数");
    }
    return 0;
}

4:

. 计算分段函数

y=-x+2.5                         0 <= x < 5

y=2-1.5(x-3)(x-3)        5 <= x < 10

y=x/2-1.5                     10 <= x < 20

输入x的值(x为整数),输出y的值,结果保留3位小数。

#include <stdio.h>
int main()
{
    int x;
    float y;
    scanf("%d",&x);
    if(x>=0&&x<5)
    {
        y=-x+2.5;
        printf("%.3f",y);
    }
    if(x>=5&&x<10)
    {
        y=2-1.5*(x-3)*(x-3);
        printf("%.3f",y);
    }
    if(x>=10&&x<20)
    {
        y=x/2-1.5;
        printf("%.3f",y);
    }
    return 0;
}

二:知识点总结:

1:if语句的嵌套要注意大括号的一一对应,实现if--else的正确匹配

2:switch...case..break语句不要误丢break,case后面跟的是变量,且case后面要加空格

3:运算符要注意优先级

4:缩进格式并不能暗示else的匹配

5:在if和else后面总要用到{},即使只有一条语句

三:实验总结

实验一:if语句注意大括号都要缩进回车,注意格式;  switch语句注意case后面跟的是变量,并且变量间加空格,大括号的一一对应

实验二:注意考虑数据错误,else if的嵌套

实验三:分清等于号和且号,以及其他常用符号,看清数据的一一对应

实验四:在作比较时要注意运算符的优先级

时间: 2024-10-03 14:00:38

第二次实验判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”的相关文章

【C语言及程序设计】项目1-26-2&amp;3&amp;5:成绩等级 &amp; 分段函数求值switch语句版 &amp; 个人所得税计算器switch语句版

switch语句常用于解决多分支.分段问题,该语句的关键就在于将具体问题中的分段.分支条件转化为常量constant. 首先,一定要理解switch语句是如何执行的: 项目1-26-2:成绩等级 1 /* 成绩等级(switch).cpp: 2 问题描述:给出一百分制成绩,要求输出成绩等级'A','B','C','D','E'.90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60分以下为'E'. 3 */ 4 5 #include "stdafx.h&quo

C语言第二次实验报告

PTA实验作业 题目一:11-7 找鞍点 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. 1.设计思路 第一步:定义二维数组 第二步:判断用户给定矩阵大小 第三步:找行最大值 第四步:判断行最大值是否为列最小值 第五步:输出结果 实验代码 int a[6][6]; int n; scanf("%d",&n); int i,j; for(i=0; i<n; i++) for(j=0;

二进制炸弹(第二次实验)

实验目的 本实验通过要求你使用课程所学知识拆除一个"binary bombs"来增强对程序的机器级表示.汇编语言.调试器和逆向工程等方面原理与技能的掌握. 一个"binary bombs"(二进制炸弹,下文将简称为炸弹)是一个Linux可执行程序,包含了6个阶段(或层次.关卡).炸弹运行的每个阶段要求你输入一个特定字符串,你的输入符合程序预期的输入,该阶段的炸弹就被拆除引信即解除了,否则炸弹"爆炸"打印输出 "BOOM!!!"

软件工程综合实践的第二次实验报告

队伍:阙定1757127,李铮达1759118 这次是软件工程综合实践的第二次实验,本次任务是结对编程,就是找一个小伙伴一起写代码,一人写代码一人复审代码,这样可以更快的找出代码的错误,然后立即更改,提高开发效率. 下面是老师发布的任务截图 讨论分析 拿到任务后,我们先考虑用哪种编程语言来写,直接用较为基础的C或C++编写即可,因为逻辑较为简单,且不需要涉及面向对象的问题.然后开始分析用什么方法来实现,以及如何实现.讨论持续了一整天,因为白天有课,所以我们都是用零星的时间来讨论的. 下面是周二中

第二次 实验报告

c语言程序报告 一.if语句的应用 1.掌握c语言逻辑运算和关系运算的规则: 2.学会正确的使用关系表达式和逻辑表达式: 3.掌握if_else语句的使用方法: 二.switch/case语句的应用 1.掌握算术运算符和运算规则: 2.掌握switch/case语句的应用: 三.switch/case语句嵌套if语句的使用方法: 1.学会正确的使用关系表达式和逻辑表达式: 2.switch/case语句嵌套if语句的使用方法.注意switch语句的控制流程,在switch语句中break语句的用

java的第二个实验——JAVA面向对象程序设计

java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实     验    报     告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩:        指导教师:娄嘉鹏  实验日期:2015.4.14 实验密级: 预习程度:  实验时间:19:30~21:50 仪器组次:13 必修/选修:选修 实验序号:2 实验名称:JAVA面向对象程序设计 实验目的与要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态

李瑞红201771010111第二周实验总结报告

第一部分:理论知识学习 本章主要内容是java的基本程序设计结构,包括以下几个方面的知识,(1)标识符.关键字.注释的相关知识:(2)数据类型:(3)变量:(4)运算符:(5)类型转换:(6)字符串:(7)输入输出:(8))控制流程:(9)大数值:(10)数组. 1.a,标识符只能由数字.字母.下划线和美元$符号组成,标识符不能以数字开头.b.关键字class表明java程序中的全部内容都包含在类里,class后面紧跟类名,源代码的文件名必须与公共类的名字相同,并用.java作为扩展名.c.与大

2019春第二次实验报告

2019春第二次实验报告 一.实验项目名称 空战游戏 二.实验项目功能描述 在第一次实验基础上增加多台敌机,在一定的得分后发散导弹 三.项目模块结构介绍 四.实现界面展示 五.代码托管链接 https://gitee.com/wenyizhang999/ZWY/blob/master/空战游戏.cpp 六.实验总结 问题:创造无限循环模式 解决方法:编代码,未完成 总结:游戏规模越来越大,玩法越来越多,无限的空间待开发,觉得自己能完成一个游戏的开发太不容易,团队很重要. 原文地址:https:/

第二次实验报告:使用Packet Tracer分析应用层

姓名:雷坛春 学号:201821121030 班级:计算1811 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序. 2 实验内容 使用Packet Tracer,正确配置网络参数,抓取应用层协议的数据包并分析,协议包含DNS.FTP, DHCP, stmp, pop3.步骤包含: 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 3.1 DNS 3.1.1 参数配置 3.1.2 抓包以及分析 请求报文: 响应