zoukankan      html  css  js  c++  java
  • 第二次作业#include <stdio.h> int main() { int a,b,c,d,e; printf("请输入一个不多于五位的整数: "); scanf("%d",&a); if(a>=100000||a<=0) { printf("输入格式错误! "); } else { if(

    1 判断成绩等级

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

    if else形式:

    #include <stdio.h>
    int main()
    {
        int x;
        double y;
        printf("请输入您的x值,x属于0-20:
    ");
        scanf("%d",&x);
        if(x<5&&x>=0)
        {
            y=-x+2.5;
            printf("%.3lf
    ",y);
        }
        else if(x>=5&&x<10)
        {
            y=2-1.5*(x-3)*(x-3);
            printf("%.3lf
    ",y);
        }
        else if(x>=10&&x<20)
        {
            y=x/2-1.5;
            printf("%.3lf
    ",y);
        }
        else
        {
            printf("您输入的数不符合x的范围
    ");
        }
        return 0;
    }
    

      

    switch 格式

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int a,b;
    printf ("请输入您的成绩: ");
    scanf("%d",&a);
    b=a/10;
    if(a>100||a<0)
    {
    printf("输入错误! ");
    exit(0);
    }
    else
    {
    switch(b)
    {
    case 10:printf("A ");
    break;
    case 9: printf("A ");
    break;
    case 8: printf("B ");
    break;
    case 7: printf("C ");
    break;
    case 6:printf("D ");
    break;
    default :printf("E ");
    }
    }
    return 0;
    }

    实验总结:注意两种方式特点

    2

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

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

    #include <stdio.h>
    int main()
    {
        int a,b,c,d,e;
        printf("请输入一个不多于五位的整数:
    ");
        scanf("%d",&a);
        if(a>=100000||a<=0)
        {
            printf("输入格式错误! 
    ");
        }
        else
        {
            if(a>=10000&&a<100000)
            {
                b=a/10000+a/1000%10*10+a/100%10*100+a%100/10*1000+a%100%10*10000;
                printf("此为5位数,它的逆序为:%05d
    ",b);
            }
            else if(a>=1000&&a<10000)
            {
                c=a/1000+a/100%10*10+a/10%10*100+a%10*1000;
                printf("此为4位数,它的逆序为:%04d
    ",c);
            }
            else if(a>=100&&a<1000)
            {
                d=a/100+a%100/10*10+(a%100)%10*100;
                printf("此为3位数,它的逆序为:%03d
    ",d);
            }
            else if(a>=10&&a<100)
            {
                e=a/10+a%10*10;
                printf("此为2位数,它的逆序为:%02d
    ",e);
            }
            else
            {
                printf("此为个位数,逆序为:%d
    ",a);
            }
        }
        return 0;
    }

    #include <stdio.h>
    int main()
    {
        int x;
        double y;
        printf("请输入您的x值,x属于0-20:
    ");
        scanf("%d",&x);
        if(x<5&&x>=0)
        {
            y=-x+2.5;
            printf("%.3lf
    ",y);
        }
        else if(x>=5&&x<10)
        {
            y=2-1.5*(x-3)*(x-3);
            printf("%.3lf
    ",y);
        }
        else if(x>=10&&x<20)
        {
            y=x/2-1.5;
            printf("%.3lf
    ",y);
        }
        else
        {
            printf("您输入的数不符合x的范围
    ");
        }
        return 0;
    }

    实验总结:忘记插入代码

     3. 回文数问题

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

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int a,b,c,d,e,f;
        printf("请输入您的五位整数:
    ");
        scanf("%d",&a);
        if(a<10000||a>=100000)
        {
            printf("输入的不是五位数!
    ");
            exit(0);
        }
        else
        {
            b=a/10000;
            c=a/1000%10;
            d=a/100%10;
            e=a%100/10;
            f=a%100%10;
        }
        if(b==f&&c==e)
        {
            printf("此为回文数。
    ");
        }
        else
        {
            printf("这个数不是回文数。
    ");
        }
        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;
    double y;
    printf("请输入您的x值,x属于0-20:
    ");
    scanf("%d",&x);
    if(x<5&&x>=0)
    {
    y=-x+2.5;
    printf("%.3lf
    ",y);
    }
    else if(x>=5&&x<10)
    {
    y=2-1.5*(x-3)*(x-3);
    printf("%.3lf
    ",y);
    }
    else if(x>=10&&x<20)
    {
    y=x/2-1.5;
    printf("%.3lf
    ",y);
    }
    else
    {
    printf("您输入的数不符合x的范围
    ");
    }
    return 0;
    }
    

      

    实验总结:要注意&&和&用法,==和=用法不一样
    知识点总结:1.switch{case常量表达式}break;default;
    2.注意if结构,if else结构
  • 相关阅读:
    裴蜀定理
    上下界网络流
    寻找符合子序列要求的区间个数
    小猪分配 , 最大流
    floyd + 最大流 (奶牛分配问题)
    抛硬币问题
    消消乐
    Entity Framework(1)
    冒泡排序
    二分法查找数据
  • 原文地址:https://www.cnblogs.com/haoran333/p/5965947.html
Copyright © 2011-2022 走看看