![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 53
爱学习的蓝孩
少不习算法,老大掉头发
展开
-
【C语言练习】【指针】定义一个函数move,实现将长度为n、名为a的序列中,各元素依次顺序循环,右移m个位置
题目下列函数move的功能是:实现将长度为n、名为a的序列中,各元素依次顺序循环,右移m个位置。例如:对于序列a=(1,3,5,7,9,11),若m=2,则循环右移后的结果为a=(9,11,1,3,5,7)。阅读下列程序,请补充括号①和②位置的内容:int move(int *a, int n, int m) { int *p, k, temp; for ( k = 1; k <= m; k++) { temp = ( ① ); for ( p = a +n -1; ( ②原创 2021-11-04 00:29:29 · 2261 阅读 · 0 评论 -
【C语言练习】求两个数m和n的最大公约数(辗转相除法)
求两个数m和n的最大公约数一、编程思路1、首先,题目里是两个数,我们自然而然要想到定义两个变量;2、其次,我们的目的是寻找最大公约数,所以要搞清楚其概念:两个或多个整数共有约数中最大的一个3、然后,我们就需要确定寻找最大公约数的方法,本次我们采用的是辗转相除法。从字面意思来看,辗转相除就是反复的用同一种方式进行除法计算,直到得出最终的解,大致思路就是:两个数做取余运算,若余数不为0,则将上一轮的除数当做下一轮的被除数,将这一轮获取到的余数作为下一轮的除数,直到余数为0为止。当余数为0时,其上一轮取到原创 2021-09-14 21:15:14 · 15186 阅读 · 3 评论 -
【C语言练习】将100~200之间的素数输出
将100~200之间的素数输出一、编程思路1、首先,我们要意识到,找出某个区间内符合条件的数,就需要对这个区间内的所有数进行遍历,而最常用的遍历方法就是利用for循环;2、其次,在确定了遍历区间后,就要根据符合条件的数来进行条件限定。例如本题中要求的是找到区间内的所有素数,那么我们首先就要明确素数的概念:一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数叫素数;3、然后,我们便需要思考如何用数学关系式来清楚地表达素数。根据素数的概念,当一个数除以在这个区间内所有不是1且不是其本身的数时原创 2021-09-14 13:02:01 · 30145 阅读 · 53 评论 -
【数据结构】以下程序段中语句“x++”的语句频度为:
以下程序段中语句“x++”的语句频度为:一、解题思路1、首先,这道题目是三层for循环嵌套,一般我们的思路是从里向外往出推结果;2、其次,我们先观察最里边的一层循环,其变量为k,循环次数是由变量j决定的。并且由于k的初始值是1,结束条件为j,所以第三层循环语句的执行次数便为:j次;3、然后,我们再观察中间层循环,其变量为j,同样其循环次数也不是一个固定的值,而是由变量i决定的。因为j的初始条件为1,结束条件为i,所以里边两层的循环从次数为从1到i的求和,通过求和公式得到结果为:i*(i+1)/2原创 2021-09-12 23:59:19 · 3755 阅读 · 2 评论 -
【C语言】有3个数a,b,c,要求按大小顺序把它们输出(基础法)
【C语言】有3个数a,b,c,要求按大小顺序把它们输出(基础法)一、实现原理二、整体源码三、实现结果一、实现原理1、首先定义3个随机数变量a、b、c和1个中间变量t2、利用if条件句来比较大小①若a<b,则交换a和b的位置,此时的顺序为:b–>a–>c②若a继续<c,测交换a和c的位置,此时的顺序为:b–>c–>a③若b<c,则交换b和c的位置,此时的顺序为:c–>b–>aNote:顺序以实际情况而定,以上的顺序排列以a<b<原创 2021-09-05 18:19:32 · 19907 阅读 · 3 评论 -
【C语言】找出3个数当中的最大值,并输出最大值
【C语言】找出3个数当中的最大值,并输出最大值一、实现原理:二、整体源码:一、实现原理:1、首先要定义一个主函数main()函数,因为主函数是程序的入口,没有入口,程序便无法正常运行。一般我们开始写程序的时候,都要先引入头文件和编写主函数,具体代码格式如下:#include<stdio.h>int main() { return 0;}Note:此处的主函数主要用来获取值和输出值,具体的算法在maxvalue()中实现2、其次就是定义一个maxvalue()函数,用于判断三原创 2021-09-05 01:17:03 · 15138 阅读 · 2 评论