作业(二)

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");}
    else if(grade<0||grade>100)
    {
        printf("成绩错误.\n");
    }
    else 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("ÇëÊäÈëÄãµÄ³É¼¨.\n");
    scanf("%d",&grade);
    if (grade>100||grade<0)
    printf("ÊäÈëµÄ³É¼¨ÓдíÎó.\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("输入错误");
    }
    else if(x/10000!=0)
    {
        printf("是一个五位数\n");
        y=10000*e+1000*d+100*c+10*b+a;
        printf("此数的倒序数是%05d.\n",y);
    }
    else if(x/1000!=0)
    {
        printf("是一个四位数\n");
        y=1000*e+100*d+10*c+b;
        printf("此数的倒序数是%04d.\n",y);
    }
    else if(x/100!=0)
    {
        printf("是一个三位数\n");
        y=100*e+10*d+c;
        printf("此数的倒序数是%03d.\n",y);
    }
    else if(x/10!=0)
    {
        printf("是一个二位数\n");
        y=10*e+d;
        printf("此数的倒序数是%02d.\n",y);    
    }
    else
    {
        printf("是一个个位数\n");
        y=e;
        printf("此数的倒序数是%01d.\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=%.03f\n",y);}
    if(x>=5&&x<10)
    {
        y=2-1.5*(x-3)*(x-3);
        printf("y=%.03f\n",y);
    }
    if(x>=10&&x<20)
    {
        y=x/2.0-1.5;
        printf("y=%.03f\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的补位,单独占一位

posted on 2016-10-14 21:17  王国宇  阅读(269)  评论(3编辑  收藏  举报