• 第二次作业


    1.判断成绩等级。

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

    #include<stdio.h>
    int main()
    {
    int a;
    printf("请输入你的成绩\n");
    scanf("%d",&a);
    if(a<0||a>100)
    {
    printf("输入错误\n"); 
    } 
    else if(a>=90)
    {
    printf("你的成绩为A\n");
    }
    else if(a>=80)
    {
    printf("你的成绩为B\n");
    }
    else if(a>=70)
    {
    printf("你的成绩为C\n");
    }
    else if(a>=60)
    {
    printf("你的成绩为D\n");
    }
    else if("a<60")
    {
    printf("你的成绩为E\n");
    }
    return 0;
    }
    

      

    switch语句:

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

      

    实验总结:

    case 后面的数字冒号,每条语句break结束

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

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

    #include<stdio.h>
    int main()
    {
    int a,b,c,d,e,f,y;
    printf("请输入一个不多于5位数的正整数\n");
    scanf("%d",&a);
    if(a>=100000||a<0)
    {
    printf("输入错误\n"); 
    } 
    else if(a>=10000&&a<=99999)
    {
    b=a/10000;
    c=a%10000/1000;
    d=a%1000/100;
    e=a%100/10;
    f=a%10;
    y=f*10000+e*1000+d*100+c*10+b;
    printf("这是一个五位数,倒叙为%05d\n",y);
    } 
    else if(a>=1000&&a<=9999)
    {
    b=a/1000;
    c=a%1000/100;
    d=a%100/10;
    e=a%10;
    y=e*1000+d*100+c*10+b;
    printf("这是一个四位数,倒叙为%04d\n",y);
    }
    else if(a>=100&&a<=999)
    {
    b=a/100;
    c=a%100/10;
    d=a%10;
    y=d*100+c*10+b;
    printf("这是一个三位数,倒叙为%03d\n",y);
    }
    else if(a>=10&&a<=99)
    {
    b=a/10;
    c=a%10;
    y=c*10+b;
    printf("这是一个二位数,倒叙为%02d\n",y);
    }
    else if(a>=0&&a<=9)
    {
    b=a%10;
    y=b;
    printf("这是一个一位数,到序为%d\n",y);
    }
    return 0;
    }
    

      

    实验总结:搞清楚计算关系和位数如%04d 为四位数 %为求余

      3. 回文数问题

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

    #include<stdio.h>
    int main()
    {
    int a,b,c,d,e;
    printf("请输入一个五位数\n"); 
    scanf("%d",&e);
    a=e/10000;
    b=e%10000/1000;
    c=e%100/10;
    d=e%10;
    if(a==d&&c==b)
    
    { 
    printf("这个五位数为回文数\n"); 
    } 
    else
    {
    printf("这个五位数不是回文数\n"); 
    }
    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>
    #include<stdlib.h>
    int main()
    {
    int x;
    float y;
    printf("请输入X的值\n");
    scanf("%d",&x);
    if(x>=0&&x<5)
    {
    y=-x+2.5;
    }
    else if(x>=5&&x<10)
    {
    y=2-1.5*(x-3)*(x-3);
    }
    else if(x>=10&&x<20)
    {
    y=x/2.0-1.5;
    }
    else
    {
    printf("输入错误\n");
    exit(0);
    }
    printf("y的值为%0.3f",y);
    return 0;
    }
    

      

    实验总结:按照C语言的格式写 不能用平时数学的格式写,如1<a<2 a>1&&a<2 浮点型%0.3f 为保留三位小数

    本节知识点总结:

    1.if从句中嵌套if从句时要使各个的大括号对其便于观察

    2.switch语句中 case 后数字用冒号 不是分号,最后要有break结束语句

    3.exit(0)为结束程序

  • 相关阅读:
    消息中间件
    线程以及多线程
    锁以及分布式锁
    并发以及高并发
    SpringBoot + SpringCloud学习踩坑实记
    公众号笔记: 2018年12月
    浅谈final关键字的用法
    浅谈static关键字的四种用法
    Linux常用的一些命令
    HTTPS
  • 原文地址:https://www.cnblogs.com/lch1/p/5959829.html
Copyright © 2020-2023  润新知