CMNSOFT
首页|算法设计|在线应用
01.取整与取模
作者:孙自超发布时间:2024-10-08 12:06:47

复习


你知道下列程序运行结果是什么吗?

#include<bits/stdc++.h> using namespace std; int main() { int a=20,b=3; cout<<a / b<<endl; cout<<a % b<<endl; return 0; }

新知识


我们利用取整和取模两个运算符解决一些与数位值相关的数学问题。

例1.求整数各数位上值的和

输入一个整数,计算它各数位上的和,并输出。例如:输入123,就是求1+2+3,输出6;输入26,就是求2+6输出8。

(1)题目分析

下面我们先以整数26为例,看看要分几步计算出它各数位上值的和。

运行次数变量初值计算过程
1int a=26,sum=0;sum+=a%10;    a/=10;
2a=2,sum=6;sum+=a%10;    a/=10;
3a=0,sum=8;sum+=a%10;    a/=10;

观察上表数据,找出规律。归纳出计算123各数位上值的和方法。并画出流程图,设计出程序。


(2)流程图

    flowchart LR    
    A(开始程序) --> B[int a=123,sum=0;]
    B --> C{a>0}
    C -- No --> E[/输出sum值/]
    C -- Yes --> D[sum+=a%10;
a/=10;] D --> C E -->F(程序结束)

根据上面流程图,请写出它的实现程序。


(3)实现程序

#include<bits/stdc++.h> using namespace std; int main() { int a=123,sum=0; while(a>0){ sum += a%10; a /= 10; } cout << sum; return 0; }

例2.看图写程序

	flowchart LR
	
	A(开始程序) --> B[int a=123,b=0;]
	B --> C{a>0}
	C -- No -->F[/输出b值/]
	C -- Yes --> D[ b=b*10+a%10;
a/=10;] D --> C F --> G(结束程序)

根据流程图,回答下面三个问题。

  • 请写出实现流程图的程序。
  • 流程图输出的值是多少?
  • 流程图的作用是什么?

运行次数变量初值计算过程
1int a=123,b=0;b=b*10+a%10;    a/=10;
2a=12,b=3;b=b*10+a%10;    a/=10;
3a=1,b=32;b=b*10+a%10;    a/=10;
4a=0,b=321;

桂ICP备11003301号 桂公网安备45040302000027号
Copyright @ 2011-2025 by Sun zi chao
平台运行天数:90天
阅读次数:4187次
展开目录
+  01.基础知识

01.算法是什么?

02.编程语言介绍

03.编程基础

04.控制结构-1

05.控制结构-2

06.控制结构-3

07.函数的使用

+  02.数值运算

01.取整与取模

02.寻找因数

03.寻找完全数

04.求最大公约数

05.求最小公倍数

06.斐波那契数列

+  03.字符串运算
+  04.搜索算法
+  05.排序算法
+  06.分治算法
+  07.回溯算法
+  08.动态规划
+  09.贪心算法
+  10.遗传算法

同步视频