zoukankan      html  css  js  c++  java
  • 第二次作业

    实验一:

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

    代码:

    #include<stdio.h>
    int main()
    {
        int grade;
        printf("请输入自己的成绩O(∩_∩)O~~
    ");
        scanf("%d",&grade);
        if (grade>100||grade<0)
        {
            printf("输入数据错误。
    ");
        }
        if (grade>=90&&grade<=100)
        {
            printf("A
    ");
        }
        else if (grade>=80&&grade<=89)
        {
            printf("B
    ");
        }
        else if (grade>=70&&grade<=79)
        {
            printf("C
    ");
        }
        else if (grade>=60&&grade<=69)
        {
            printf("D
    ");
        }
        else if (grade>=0&&grade<=60)
        {
            printf("E
    ");
        }
        return 0;
    }

    运行结果:

    另一种:

    代码:

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

    运行结果:

    实验二:

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

    代码:

    #include <stdio.h>
    int main()
    {
        int a,b,c,d,e,f,g;
        printf("请输入一个不多于5位的整数
    ");
        scanf("%d",&a);
        if(a/10000>9)
        {
            printf("输入错误!
    ");
        }
        else if (a/10000!=0)
        {
            b=a/10000;
            c=a%10000/1000;
            d=a%10000%1000/100;
            e=a%10000%1000%100/10;
            f=a%10000%1000%100%10;
            g=b+c*10+d*100+e*1000+f*10000;
            printf("这是一个五位数,倒序数是%05d
    ",g);
        }
        else if (a/1000!=0)
        {
            b=a/1000;
            c=a%1000/100;
            d=a%1000%100/10;
            e=a%1000%100%10;
            g=b+c*10+d*100+e*1000;
            printf("这是一个四位数,倒序数是%04d
    ",g);
        }
        else if (a/100!=0)
        {
            b=a/100;
            c=a%100/10;
            d=a%100%10;
            g=b+c*10+d*100;
            printf("这是一个三位数,倒序数是%03d
    ",g);
        }
        else if (a/10!=0)
        {
            b=a/10;
            c=a%10;
            g=b+c*10;
            printf("这是一个两位数,倒序数是%02d
    ",g);
        }
        else
        {
            printf("这是一个一位数,倒序数是%d",g);
        }
    return 0;
    }

    运行结果:

    实验三:

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

    代码:

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

    运行结果:

    实验四:

    实验要求:计算分段函数

            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;
        printf("输入x的值");
        scanf("%d",&x);
        if (x>0&&x<=5)
        {
            y=-x+2.5;
            printf("y=%.3f",y);
        }
        else if (x>5&&x<10)
        {
            y=2-1.5*(x-3)*(x-3);
            printf("y=%.3f",y);
        }
        else if (x>=10&&x<20)
        {
            y=x/2-1.5;
            printf("y=%.3f",y);
        }
        else
        {
            printf("超出计算范围O(∩_∩)O");
        }
        return 0;
    }

    运行结果:

    二.本次可知识点总结

    1.对关系运算符的应用,>,<,>=,<=,==.

    2.对逻辑运算符的应用,&&是与,||是或,!是非。

    3.if 语句的结构和switch case的结构用法和基本框架。

    4.对一些数学函数,分段函数的运用。

    5.对取得结果的位数要求以及小数保留方法。

    6.if语句嵌套的方法。

    三.实验总结

    1.实验过程中经常把==和=用混,==是等于,=是赋值;

    2.总是把该用||的地方用&&;

    3.在第五个程序中,得到的结果与计算的结果不一致,原来是由于没有注意位数的保留;

    4.对于成绩判断的程序代码,丢掉了100分时候的情况,而且一开始没有进行合法输入的判定;

    5.不太明白为什么第五个程序中,y要用float...室友告诉我是因为y不是整数..也可以用double;

    6.写程序的时候总是丢掉int main后面的()。

  • 相关阅读:
    springMvc
    计算机网络
    Mybatis 总结
    Spring 面试总结
    Java IO 流
    自定义类加载器
    缓存一致性协议
    dfs、bfs序
    7.26
    Trick
  • 原文地址:https://www.cnblogs.com/jj4529926/p/5967469.html
Copyright © 2011-2022 走看看