作业(二)

1.判断成绩等级。

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

代码

(1).switch

#include<stdio.h>
int main()
{
    int grade;
    printf("请输入你的成绩。\n");
    scanf("%d",&grade);
    if(grade==100)
    {
        printf("A\n");}
    if(grade<0||grade>100)
    {
        printf("成绩错误.\n");
    }
    switch(grade/10)
    {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:printf("E\n");break;
        case 6:printf("D\n");break;
        case 7:printf("C\n");break;
        case 8:printf("B\n");break;
        case 9:printf("A\n");break;
    }
    return 0;
}

截图

(2).if

代码

#include<stdio.h>
int main()
{
    int grade;
    printf("??ê?è???μ?3é?¨.\n");
    scanf("%d",&grade);
    if (grade>100||grade<0)
    printf("ê?è?μ?3é?¨óD′í?ó.\n");
    else if (grade>=90&&grade<=100)
    {printf("A\n");}
    else if (grade>=80&&grade<90)
    {printf("B\n");}
    else if (grade>=70&&grade<80)
    {printf("C\n");}
    else if (grade>=60&&grade<70)
    {printf("D\n");}
    else if (grade>=0&&grade<60)
    {printf("E\n");}
    return 0;}

截图

2.判断整数位数及逆序输出

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

代码:

#include<stdio.h>
int main()
{
    int x,y,a,b,c,d,e;
    printf("请输入一个不多于五位的正整数。\n");
    scanf("%d",&x);
    a=x/10000;
    b=x/1000%10;
    c=x/100%10;
    d=x/10%10;
    e=x%10;
    if(x<=0||x>99999)
    {
        printf("输入错误");
    }
    if(x/10000!=0)
    {
        printf("是一个五位数\n");
        y=10000*e+1000*d+100*c+10*b+a;
        printf("此数的倒序数是%d.\n",y);
    }
    else if(x/1000!=0)
    {
        printf("是一个四位数\n");
        y=1000*e+100*d+10*c+b;
        printf("此数的倒序数是%d.\n",y);
    }
    else if(x/100!=0)
    {
        printf("是一个三位数\n");
        y=100*e+10*d+c;
        printf("此数的倒序数是%d.\n",y);
    }
    else if(x/10!=0)
    {
        printf("是一个二位数\n");
        y=10*e+d;
        printf("此数的倒序数是%d.\n",y);
    }
    else
    {
        printf("是一个个位数\n");
        y=e;
        printf("此数的倒序数是%d.\n",y);
    }
    return 0;
}

截图

4.回文数问题

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

代码:

#include<stdio.h>
void main()
{
    int x,a,b,c,d;
    printf("请输入一个五位数\n");
    scanf("%d",&x);
    a=x%10;b=x/10000;c=(x%100)/10;d=(x%10000)/1000;
    if(a==b&&c==d)
    {printf("%d是一个回文数\n",x);}
    else
    {printf("%d不是一个回文数\n",x);}
    return 0;
}

截图

55

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;
    double y;
    printf("请输入一个x值且为整数\n");
    scanf("%d",&x);
    if(x>=0&&x<5)
    {y=-x+2.5;
    printf("y=%.3f\n",y);}
    if(x>=5&&x<10)
    {y=2-1.5*(x-3)*(x-3);
    printf("y=%.3f\n",y);}
    if(x>=10&&x<20)
    {y=x/2-1.5;
    printf("y=%.3f\n",y);}
    if(x<0||x>=20)
    {printf("您输入的有错误");}
    return 0;
}

截图

二、本次课知识点总结

1.if ...else语句的三种形式

2.if语句的嵌套

3.switch...case语句

4.条件运算符

三、实验总结

1.注意if后面不用加“;”

2.{}的完整,一个“{”对应一个“}”

3.注意if的嵌套,if else与if的相对性

4.return空格0以及;

5.注意小数点的要求

6.0的补位,单独占一位

时间: 2024-11-05 03:59:09

作业(二)的相关文章

day1作业二:多级菜单

    作业二:多级菜单 1.三级菜单 2.可以次选择进入各子菜单 3.所需新知识点:列表.字典 4.打印b回到上一层 5.打印q退出循环 流程图如下: readme: (1)存储三级菜单的字典;设置标识符active用来循环: (2)生成存储省市的字典,d1 = {1: '河南', 2: '广东', 3: '湖南'}; (3)用户输入查询编码,如果用户输入q退出循环:如果用户输入小于1或大于3则重新输入:输入编码在range(1,4)中,则输出省,并继续循环; (4)生成存储市的字典d2 =

day1作业二:多级菜单操作(函数实现)

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下: 香港: 香港 澳门: 澳门 台湾: 台湾 钓鱼岛: 钓鱼岛 北京市: - 市辖区 - 东城区 - 西城区 - 崇文区 - 宣武区 - 朝阳区 河北省: - 石家庄市: - 长安区 - 桥东区 - 桥西区 - 新华区 - 唐山市: - 路南区 - 路北区 - 古冶区 - 开平区 - 秦皇岛市: -

机器学习 1 linear regression 作业(二)

机器学习 1 linear regression 作业(二) 这个线性回归的作业需要上传到https://inclass.kaggle.com/c/ml2016-pm2-5-prediction 上面,这是一个kaggle比赛的网站.第一次接触听说这个东西,恰好在京东上有一本刚出来的关于这个的书<Python机器学习及实践:从零开始通往Kaggle竞赛之路>.把我自己写的代码运行保存的结果提交上去后发现,损失函数值很大,baseline是6,而我的却是8,于是很不心甘,尝试了其他方法无果后,准

第二次作业: 二维数组

高级语言程序设计报告   实习题目 第二次作业: 二维数组 P228计算机双学位第8章实验题:学生成绩管理系统 l 在上次作业的基础上,改为每学生2门课,用二维数组编程实现相应功能,相应功能所有涉及分数的均需可以处理每门课程分数及每个学生课程总分. l 涉及到排序的,均需提供冒泡及选择两种排序方法,可增加菜单项. l 功能5中按学号查询学生排名及成绩,要求用折半法,为此你的学生数据可以多一点. l 数组中可以事先有数据(省却每次输入数据浪费时间),为此输入数据菜单可以改造为增加数据菜单. l 在

家庭作业二

家庭作业二(Chapter 3) P206 3.60 考虑下面的源代码,这里R,S,T都是用#define声明的常数 int A[R][S][T]; int store_ele(int i,int j,int k,int *dest) { *dest=A[i][j][k]; return sizeof(A); } 编译这个程序,GCC产生下面的汇编代码:(i at %ebp+8,j at %ebp+12,k at %ebp+16,dest at %ebp+20) movl 8(%ebp),%ec

機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博

【作业二】林轩田机器学习基石

作业一被bubuko抓取了,要是能注明转载就更好了() 作业二关注的题目是需要coding的Q16~Q20 Q16理解了一段时间,题目阐述的不够详细.理解了题意之后,发现其实很简单. 理解问题的关键是题目中给的's'是啥意思: (1)如果s=1,则意味着x>theta y预测为1,x<theta y预测为-1: (2)如果s=2,则以为着x<theta y预测为1,x<theta y预测为1 想明白这个事情之后,直接分theta大于0,小于0讨论,s=1 or s=-1把几种情况分

day1作业二:多级菜单操作

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入b返回上一层,输入q退出整个程序

作业二:操作系统是如何工作的进行

作业二:操作系统是如何工作的进行 mykernel实验指导(操作系统是如何工作的) 运行并分析一个精简的操作系统内核,理解操作系统是如何工作的 打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain.c和myinterrupt.c 一.实验截图 二.分析进程的启动和进程的切换机制 一个小的内核源代码 mypcb.h: 1.#defin

Python作业二:三级列表

作业二:多级菜单要求:1.三级菜单2.可依次选择进入各子菜单,返回上级菜单3.所需新知识点:列表.字典 逻辑: 打印省级 省级选择 while input_s == "B": 打印省级 else: 判断省级输入 打印市级 市级选择 while input_c == "B": 打印省级 else: 判断市级输入 打印县级 县级选择 while input_x == "B": 打印市级 else: 判断县级输入 打印县级编号 代码实现: 1 # 初始