C语言中if语句的复习,以及%和/的区别和记忆方式,应用案例:不多于5位的正整数,按成绩输出等级,输入x值,输出y的值

1、求余

       5%2等于什么呢??

                                 首先理解这里的意思是求  5除以2的余数,   

         由(2*2+1=5)知道, 是5除以2等于2并且得到一个余数1,因此这里的结果是1;   

                           即5%2=1;

                 其他例子:         2%3=2          4%3=1                        ----求余(取余)---

2、整除

      (int )5/2等于什么呢?;   原则上没有类型的情况下是2.5,但是int类型没有小数点输出,

        因此把下小数点后面的数除掉,结果是2。   

                       即(int )5/2=2

     如果是(double)5/2,那么允许输出小数点,结果是2.5

                其他 例子:   2/3=0,      10/3=3                                         ---整除----

(         我学习    %   和  /    时常常混淆这两个运算符的用法,经常记反了。

    为了记住他,我做了一个记忆思考,由于   %  是求余, 由于多了两个圆圈,

    相对于    /     来说,显得多余了,因此看到   %可以条件反射出一个   余  字。

    然后记忆成求带余数的函数中的余数)

                                     下面是关于    求余和整除     的案例学习:

/*给出一个不多于5位的正整数
1、输出他是几位数,
2、分别输出每一位数字,
3、按逆序输出各位数字,例如原数位321,应输出123;*/ 
#include<stdio.h>
int main()
{
    int y,x1,x2,x3,x4,x5;
    printf("Please input an integer of not more than five digits:\n"); 

    scanf("%d",&y);
    x1=y/10000%1000%100%10;
    x2=y/1000%100%10;
    x3=y/100%10;
    x4=y/10%10;
    x5=y%10; 
    
    if (y/10000)
    {
        printf("This is a five-digit number \n");
            printf("万分位上是:%d,千分位上是:%d,百分位上是:%d,十分位上是:%d,个位上是:%d\n",x1,x2,x3,x4,x5);
            printf("按位逆序输出:%d%d%d%d%d\n",x5,x4,x3,x2,x1);
    }
    
    else if(y/1000)
    {
        printf("This is a four-digit number ");
        printf("千分位上是:%d,百分位上是:%d,十分位上是:%d,个位上是:%d\n",x2,x3,x4,x5);
        printf("按位逆序输出:%d%d%d%d\n",x5,x4,x3,x2);
    }
    
    else if(y/100)
    {
        printf("This is a three-digit number ");
        printf("百分位上是:%d,十分位上是:%d,个位上是:%d\n",x3,x4,x5);
        printf("按位逆序输出:%d%d%d\n",x5,x4,x3);
        
    }
    
    else if(y/10)
    {
        printf("This is a two-digit number ");
        printf("十分位上是:%d,个位上是:%d\n",x4,x5);
        printf("按位逆序输出:%d%d\n",x5,x4);
    }

    else if(y)
    {
        printf("This is a one-digit number ");
        printf("个位上是:%d\n",x5);
        printf("按位逆序输出:%d",x5);
        
    }
    return 0;
}
 

 

 

 

/*按成绩输出等级 
给出百分制成绩,要求输出成绩等级 'A'---90分以上,'B'---80~89分之间,'C'---70~79之间,'D'----60~69分之间,'E'----60分以下 */ 
#include<stdio.h>
int main()
{
    int  x,y;  
    printf("Please input your score:"); 
    scanf("%ld",&y); 
    x=y/10;
    switch(x)   //错误更正,必须是整形 
    {
        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:  printf("E\n"); break;
    }
    return 0;
}
 

 

/* 输入x值,输出y的值,y=x,(x<1)   y=2x-1,(1<=x<10) ,y=3x-11(x>=10)*/ 
#include<stdio.h>
int main()
{
    int x,y;
    printf("Please input one numbers:");
    scanf("%d",&x);
    if(x<1) 
       y=x;
    else if(x>1&&x<10)
        y=2*x-1;
        else if(x>=10)
        y=3*x-11;
        printf("y=%d",y);
    return 0;
}

 

 

//输入三个整数a,b,c,由键盘输入,输出其中最大值 */
#include<stdio.h>
int main()
{
    int a,b,c,max;
    printf("Please input three numbers:");
    scanf("%d%d%d",&a,&b,&c);
    max=a;
    if(max<b)
       max=b;
     if(max<c)
        max=c;
    printf("max is %d",max);
    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值