除法和取模运算符

试一下除法和取模运算符

示例代码

#include <stdio.h>                  

int main(void) 
{    
	int cookies = 45;
	int children = 7;  //  小孩数量 
	int cookies_per_child = 0;        //每个小孩的饼干数 给一个初始化值0
	int cookies_left_over = 0;        //分完后剩下的 

	cookies_per_child =  cookies/children; //计算每个孩子得到的饼干数 
    //C语言里面 两个整数相除 结果还是整数 如果结果是小数 它会只保留整数部分 45/7=6.4xxxx
	 //去掉小数 则=6
	printf("你有%d个孩子和%d个饼干\n",children,cookies);
	
	printf("给每个孩子%d个饼干\n",cookies_per_child);
	cookies_left_over =  cookies %  children; //还剩多少 就是取余数
	 
	printf("最后还剩%d块饼干\n",cookies_left_over);
	 
	return 0;                        
}Code language: PHP (php)

运行输出结果

你有7个孩子和45个饼干
给每个孩子6个饼干
最后还剩3块饼干

代码解析

变量名初始值说明
cookies45饼干总数
children7小孩数量
cookies_per_child0每个小孩分到的饼干数
cookies_left_over0分完后剩余的饼干数

除法 /:

cookies_per_child = cookies / children; → 45 / 7

C语言中两个整数相除,结果也是整数。如果结果是小数,只会保留整数部分,舍弃小数。

45 / 7 = 6.428...,截断小数部分后结果为 6。

取模 %:

cookies_left_over = cookies % children; → 45 % 7

取模运算符计算的是两个整数相除后的余数。

45 ÷ 7 = 6 余 3,所以结果为 3。

核心要点

  • 整数除法截断:两个整数相除,结果自动舍去小数部分,只保留整数商。不会四舍五入。
  • 取模运算:a % b 得到 a 除以 b 的余数。仅适用于整数操作数。
  • 两者配合:/ 得到商,% 得到余数,常用于平均分配类问题(如分饼干、分组的场景)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注