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

    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)为结束程序

  • 相关阅读:
    LeetCode 345. Reverse Vowels of a String 题解
    LeetCode 344. Reverse String 题解
    LeetCode 27. Remove Element 题解
    LeetCode 61. Rotate List 题解
    LeetCode 19.Remove Nth Node From End of List 题解
    Android耗电量
    Android 使用adb查看和修改电池信息
    Android AOP AspectJ 插桩
    Flask相关用法
    Monkey日志信息的11种Event percentage
  • 原文地址:https://www.cnblogs.com/lch1/p/5959829.html
Copyright © 2011-2022 走看看