C语言入门经典:数论与字符统计实战

需积分: 13 1 下载量 26 浏览量 更新于2024-07-23 收藏 246KB DOC 举报
本资源是一份针对C语言初学者的精选练习题集合,包含了三个实用的C语言程序。以下是每个程序的功能和知识点详解: 1. 计算最大公约数和最小公倍数 - 这段代码定义了两个函数:`int hcf(int u, int v)` 和 `int lcd(int u, int v, int h)`。`hcf` 函数用于计算两个正整数u和v的最大公约数(GCD),使用欧几里得算法实现。首先检查较小数与较大数的关系,并通过不断用较大数除以较小数余数,直到余数为0,此时较小数即为最大公约数。 - `lcd` 函数利用最大公约数来计算最小公倍数(LCM),公式为:`l = (u * v) / h`。这个程序要求用户输入两个正整数,然后分别计算并输出它们的最大公约数和最小公倍数。 2. 字符统计器 - 这个程序旨在统计输入的一行字符中,字母、空格、数字和其他字符的数量。`main` 函数接收用户输入的字符串,通过`void count(char[])`函数进行分析。`count`函数遍历字符串中的每个字符,使用条件语句判断是字母(ASCII值在'a'到'z'或'A'到'Z'之间)、数字(ASCII值在'0'到'9'之间)、空格(ASCII值为32)还是其他字符,并累加相应的计数器。最后,程序输出各类字符的统计结果。 3. 判断数字的位数和原数 - 最后一个程序用于输入一个正整数,计算它的位数以及原始数值。`void main`中定义了一个整型变量`digit`,用于记录输入数字的位数。程序通过`digit`变量逐次对输入的数字取余数10,直到余数为0,此时`digit`的值即为位数。同时,程序会输出原始的输入数字和计算得到的位数。 这些程序不仅涵盖了基本的C语言语法,如函数定义、输入输出、条件判断等,还涉及到了数学计算(最大公约数和最小公倍数)、字符串处理(字符统计)以及数值处理(位数计算)。它们是C语言学习过程中非常实用的基础练习,有助于初学者巩固和提高编程技能。