第二次作业

判定成绩等级

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

 

int main()
{
    int grade;
    printf("请输入你的成绩\n");
    scanf("%d",&grade);
    if(90<=grade&&grade<100)
    {
        printf("A\n");
    }
    else if(80<=grade&&grade<=89)
    {
        printf("B\n");
    }
    else if(70<=grade&&grade<=79)
    {
        printf("C\n");
    }
    else if(60<=grade&&grade<=69)
    {
        printf("D\n");
    }
    else if(0<=grade&&grade<=60)
    {
        printf("继续努力\n");
    }
    else if(100<=grade)
    {
        printf("输入数据错误\n");
    }
    else if(grade<=0)
    {
        printf("输入的数据错误\n");
    }
    return 0;
}

注意:写程序过程中“&&”与“||”的使用,同时考虑数据超出范围时应如何解决。

 

 

 

 

#include <stdio.h>
int main()
{
    int a;
    printf("输入你的成绩\n");
    scanf("%d",&a);
    switch(a/10)
    {
    case 9:case 10 :
    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;
    default :
    printf("输入的数据错误\n");
    }
}

 

 

注意:case与数字之间的空格,每一条语句之后要写“break;”

 

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

#include <stdio.h>
int main()
{
    int a,b;
    printf("输入一个整数\n");
    scanf("%d",&a);
    if(a<100000&&a>=10000)
    {
        b=a/10000+a%10000/1000*10+a%1000/100*100+a%100/10*1000+a%10*10000;
        printf("输入的整数为五位数,输出的数值为%05d\n",b);
    }
    else if(a<10000&&a>=1000)
    {
        b=a%10*1000+a%100/10*100+a/100%10*10+a/1000;
        printf("输入的整数位四位数,输出的数值为%04d\n",b);
    }
    else if(1000>a&&a>=100)
    {
        b=a%10*100+a/10%10*10+a/100;
        printf("输入的整数为三位数,输出的数值为%03d\n",b);
    }
    else if(100>a&&10<=a)
    {
        b=a%10*10+a/10;
        printf("输入的整数位二位数,输出的数值为%02d\n",b);
    }
    else if(1<a&&a<10)
    {
        b=a;
        printf("输入的整数为一位数,输出的数值为%01d\n",b);
    }
    else
    {
        printf("error\n");
    }
    return 0;
}

 

 

if()后不加分号,同时else前面一定要有与其对应的if

 

 

3. 回文数问题

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

#include <stdio.h>
int main()
{
    int a;
    printf("请输入一个五位数整数\n");
    scanf("%d",&a);
    if(a%10==a/10000&&(a%100)/10==(a%10000)/1000)
    {
        printf("数据为回文数\n");
    }
    else
    {
        printf("输入的数据有误\n");
    }
    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()
{
    float x,y;
    printf("请输入x的值\n");
    scanf("%f",&x);
    if(0<=x&&x<5)
    {
        y=2.5+x;
        printf("%.2f",y);
    }
    else if(5<=x&&x<10)
    {
        y=2-1.5*(x-3)*(x-3);
        printf("%.2f",y);
    }
    else if(10<=x&&x<20)
    {
        y=x/2-1.5;
        printf("%.2f",y);
    }
    else
    {
        printf("不符合要求");
    }
    return 0;
}

 

 

注意常量是否被定义,同时有小数的应该用float型,系统一般会默认为doulbe行,应及时改正。

 

转载于:https://www.cnblogs.com/456abc/p/5949530.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值