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