C语言编程练习:求最大公约数与最小公倍数

需积分: 9 4 下载量 183 浏览量 更新于2024-09-17 收藏 45KB TXT 举报
"113道C语言题目,超经典的" 这些C语言题目涵盖了基础到进阶的各种知识点,是初学者巩固和提升编程技能的理想选择。其中包括了计算最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的算法,以及字符统计和数字检测的程序设计。 1. 计算最大公约数和最小公倍数 在第一题中,程序要求用户输入两个整数,然后分别计算它们的最大公约数(H.C.F)和最小公倍数(L.C.D)。这里的算法使用了欧几里得算法(Euclidean Algorithm)来计算最大公约数。这个算法基于以下原理:对于两个正整数u和v(u>v),它们的最大公约数等于v和u除以v的余数的最大公约数。循环执行这个过程,直到余数为0,此时的v就是最大公约数。计算最小公倍数则通过返回两数乘积除以最大公约数得到。 2. 统计字符串中的字母、数字、空格和其他字符 第二题涉及的是字符串处理,程序要求用户输入一串字符,并统计其中的字母、数字、空格以及其他字符的数量。这里使用了一个名为`count`的辅助函数,遍历字符串的每个字符,根据字符的ASCII码判断其类型并相应增加计数。对于字母,它检查字符是否在字母的ASCII范围之间;对于数字,检查是否在数字的ASCII范围;对于空格,直接与空格的ASCII值比较;其他字符则包括所有非字母、数字和空格的字符。 3. 统计数字字符串中的每个数字出现次数 第三题与第二题类似,但专注于统计数字字符串中每个数字的出现次数。用户被要求输入一个数字字符串,程序会统计每个数字的出现频率。同样,这里也用到了一个辅助函数`count`,遍历字符串中的每个字符,如果字符是数字(在'0'到'9'的ASCII范围内),则增加对应的计数器。 这些题目旨在帮助学习者掌握C语言的基本语法,如变量声明、输入输出操作、函数定义和调用、条件语句、循环结构以及数组的使用。此外,通过解决这些问题,还能训练逻辑思维和问题解决能力。对于初学者而言,这样的练习是极其有价值的,能够让他们在实践中理解并巩固C语言的核心概念。