0
点赞
收藏
分享

微信扫一扫

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;
 }

举报

相关推荐

C++的输入和输出

0 条评论