(一)模块化编程示例:求最大公约数(GCD)

#include <iostream>
using namespace std;

// 函数:求两个整数的最大公约数
int gcd(int n1, int n2){
	int gcdVal = 1; // 初始公约数为1
	for (int k = 2; k <= n1 && k <= n2; k++){
		if (n1 % k == 0 && n2 % k == 0){
			gcdVal = k; // 更新最大公约数
		}
	}
	
	int main(){
		int a, b;
		cout << "输入两个正整数:";
		cin >> a >> b;
		cout << "最大公约数:" << gcd(a, b) << endl;
		return 0;
	}

(二)逐步细化(Stepwise Refinement)

实现。

示例:打印日历的函数分解

PrintCalendar(主函数)
	readInput(读取年份/月份)
	printMonth(打印单个月份日历)
		printMonthTitle(打印月份标题)
		printMonthBody(打印日历主体)
			getNumOfDaysInMonth(获取当月天数)
			getStartDay(获取当月第一天是星期几)
				getTotalNumOfDays(获取从基准年到该年的总天数)
				isLeapYear(判断是否为闰年)
	getMonthName(获取月份名称)