C语言编程练习:数位合并、最大公约数、字符转换与数字和计算

需积分: 7 0 下载量 163 浏览量 更新于2024-07-22 收藏 290KB DOC 举报
本资源主要涉及C语言的三个不同题目,涵盖了基本的数据处理、算法设计以及字符串操作。 第一个题目是关于两位数整数的合并。在`longfun`函数中,要求将两个输入的两位正整数`a`和`b`合并成一个四位数`c`。通过取模和整除运算,分别得到每一位的数值,然后按照指定的顺序组合到`c`中。例如,如果`a=45`和`b=12`,则计算过程是`c = (a // 10 * 1000) + ((a % 10) * 100) + (b // 10 * 10) + (b % 10)`,最终结果为`c=4152`。 第二个题目是计算两个整数`m`和`n`的最大公约数(GCD)。`fun`函数通过欧几里得算法实现,即从较大数开始除以较小数,一直除到余数为零,此时的除数即为最大公约数。这个算法在数学中具有高效性,适用于编程中的数论问题。 第三个任务是字符串处理,将输入的字符串中的所有大写字母转换为小写。`fun`函数通过遍历字符串,当遇到大写字母(ASCII码范围为'A'到'Z')时,将其ASCII码加上32(大小写字母间的ASCII码差),从而实现转换。输入的字符串如"ThisIsacProgram"经过转换后会变为"thisisacprogram"。 最后一个程序要求计算从1到n之间不能被3整除的所有整数之和。`main`函数中首先提示用户输入n,然后调用一个未给出的函数`NONO()`,可能是为了实现递归或循环求和。例如,如果输入`n=12`,程序会计算1+2+4+5+7+8+10+11=48,并输出结果。 这些C语言代码展示了基础数据结构(如整数处理和字符串操作)、算法应用(如寻找最大公约数)以及函数设计和输入输出的结合,适合用于巩固C语言基础知识,提高编程能力。