- 博客(21)
- 收藏
- 关注
原创 用指针实现数组元素循环移动
本关任务:编写程序,用指针实现以下功能, n 个整数存入一维数组中,将该数组循环左移 m 位。如一个长度为 10 的数组中原来的元素顺序为0 1 2 3 4 5 6 7 8 9,则循环左移 3 个位置后元素的顺序为 3 4 5 6 7 8 9 0 1 2。假如一个长度为n=10的数组中,原来的元素顺序为(0 1 2 3 4 5 6 7 8 9),循环左移m=3个位置。第一步:首先逆置数组前m个元素,则数组中元素为(2 1 0 3 4 5 6 7 8 9);printf(“输入%d个整数:\n”,n);
2025-04-08 15:32:29
318
原创 定义日期结构体类型(包括年、月、日),实现输入一个日期显示它是该年第几天任务描述 本关任务:定义一个结构类型变量(包括年、月、日),实现输入一个日期显示它是该年第几天。 相关知识 C 语言不仅提供
C 语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许用户为数据类型取“别名”,通过类型定义符typedef即可完成此功能。根据提示,在右侧编辑器 Begin-End 区间补充代码,利用给定的别名DATE定义变量,从后台依次获取年、月、日,根据年月日,计算出它是该年第几天,并按照指定格式输出结果。用typedef定义数组类型、指针类型,结构体类型、共用体类型、枚举类型等类型的别名,使得编程更加方便;用typedef只是对已经存在的类型指定一个新的类型名,而没有创造新的类型;
2025-04-07 20:01:42
585
原创 字符串数据类型的基本运算
字符串在计算机中是可以比较大小的,字符串比较的规则:就是将两个字符串自左至右逐个比较对应位置上字符的ASCII码值,直到出现不同的字符或者达到某个字符串的结尾为止,若全部字符相同,则认为两个字符串相等;常见的字符串类型数据的运算有求字符串的长度、字符串的复制、比较两个字符串的大小、字符串的连接等。字符串的运算比数值型数据的运算复杂,为减轻编程的负担,提高效率,C 语言提供了丰富的字符串处理函数来实现字符串的运算,对字符串进行整体操作。例如:"CHINA"的长度是 5,"C program"的长度是 9。
2025-04-06 17:58:53
1745
原创 【无标题】
理解一下这个图吧,我来解释一下,main方法就是指明,这里是程序的起点,此Java程序从第14行开始执行,先遇到了sum函数,之后回去第4行调用sum函数,输出a+b,之后在sum函数里调用dosome函数,输出do some,最后又回到19行,输出Hello World!方法中形参和实参应数据类型相同,如果不相同,小的可以转换成大的(字节)如int 转为long 但double不能转为long(虽然字节一样占比一样大,但是double是浮点数,有小数,精度更高一点),这就是自动类型转换。
2025-04-05 15:22:36
717
原创 JavaSE基础复习③
很神奇的一个现象,关于while的:当你些while(true)后面再跟一个语句,那么程序会报错,应为后面那个语句永远无法被执行,while是一个死循环,但是当你写i=10 j=3 while(i>j)时,程序就不会检查出语法错误,可以被运行,这是为什么呢?其实是应为电脑没有像人脑一样,while括号里的语句其实是运行后才被执行来判断的,但是如果你while里面是(10>3)的话那他就明白了这是true,就会让后面的语句无法进行。break跳出循环,一般是跳出这一层循环不会全部跳出。
2025-04-04 10:47:54
356
原创 JavaSE基础复习②
要转为byte,所以取后8位,之后是1000 0111,因为首位为1,所以是负数,那么符号位(也就是首位)不变,其他位置取反—1111 1000,然后再加1,1111 1001 = -121(首位是符号为,从第二位开始)。也可以这样理解,1000 0111,之后所有位置取反,就是0变成1,1变成0,然后就是0111 1000,然后再加1 就是0111 1001,记住这个是负数,然后直接求就行。||和|也是同理,不是只要有一个是true那整个就是true了吗,||会不再进行右边语句的判断,而|会判断完。
2025-04-03 19:40:29
401
原创 JavaSE基础复习①
③最后关掉终端,然后点击该文件所在位置,输入cmd打开终端然后输入java (类名),如java HelloWolrd。②再用cmd指令打开终端,输入javac,然后将刚才的文件拖入里面,获得绝对路径,然后回车,获得.class形式的文件。JVM:Java的虚拟机,JRE包括Java虚拟机,Java最后是运行在虚拟机上的。距离Java学习已经过了快一周的时间了,今天来复习一下JavaSE的内容吧!①先用EditPlus写好代码,然后将文件后缀名改为.java。JRE:Java的运行工具包。
2025-04-03 19:07:16
218
原创 浅谈强转原理
1234567的二进制应该为1 0010 1101 0110 1000 0111,这个时候我们补3个0再最前面,构成正确的格式,那就是0001 0010 1101 0110 1000 0111,此时注意,Java中的强转原理相信让很多人都很头疼,今天我就按我自己最简单的理解来浅谈一下强转原理。提出来1000 0111,此时看符号位(也就是第一位),如图,这个结果应该是-121,怎么来的呢?这个时候我们再计算,那么就是。
2025-03-30 12:33:31
313
原创 用指针方法实现将两个有序的数组合并成一个有序数组
在数组a和b的指针变量指向数组元素时,进入循环,比较a,b两个数组中指针指向的元素的大小,将较小元素存入数组c。当a或b中某个数组的元素全部存入数组c时,跳出循环,再把另一个数组中剩下的数组元素全部存入数组c,从而实现两个数组合并后仍然有序。本关任务:用指针方法编写程序,分别输入两个按从小到大排序的数组 a 和 b,将这两个有序数组合并,使合并后的数组 c 仍是从小到大有序的。根据提示,在右侧编辑器 Begin-End 区间补充代码,实现将两个有序的数组合并成一个有序数组,输出合并后的数组。
2025-03-22 20:08:52
419
原创 用指针实现数组元素循环移动
本关任务:编写程序,用指针实现以下功能, n 个整数存入一维数组中,将该数组循环左移 m 位。如一个长度为 10 的数组中原来的元素顺序为0 1 2 3 4 5 6 7 8 9,则循环左移 3 个位置后元素的顺序为 3 4 5 6 7 8 9 0 1 2。假如一个长度为n=10的数组中,原来的元素顺序为(0 1 2 3 4 5 6 7 8 9),循环左移m=3个位置。第一步:首先逆置数组前m个元素,则数组中元素为(2 1 0 3 4 5 6 7 8 9);printf(“输入%d个整数:\n”,n);
2025-03-21 19:54:55
391
原创 用指针实现数组元素逆置
数组逆置的算法思想:第一个数组元素和倒数第一个数组元素交换,第二个和倒数第二个交换,依次进行下去,直到交换的两个数组元素相遇。根据提示,在右侧编辑器 Begin-End 区间补充代码,将数组元素逆置,输出时,每个数字之间空一格。// 交换数组元素a[0]和a[9]// 指针变量i指向数组元素a[1]// 指针变量i指向数组元素a[0]j = &a[9];// 指针变量i指向数组元素a[9]// 指针变量j指向数组元素a[8]本关任务:使用指针编写一个程序,输入10个整数存入数组,将数组元素逆置后输出。
2025-03-20 18:46:29
258
原创 用结构体类型实现复数的加、减、乘、除运算,每种运算用函数完成
根据提示,在右侧编辑器补充代码,实现两个复数的加、减、乘、除运算,将函数的计算结果作为函数返回值返回,复数之间的加法、减法、乘法和除法分别用不用的函数来实现。输出说明:输出时按(a+bi)的格式在屏幕上打印结果,输出时 a、b 都保留一位小数。输入说明:输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔。函数 add()、sub()、mul()、div()分别实现复数的加减乘除;使用结构体指针作函数的形参,将函数的计算结果返回;本关任务:编程实现两个复数的加、减、乘、除运算。
2025-03-19 11:23:24
1200
原创 打印九九乘法口诀表
乘法口诀表一共需要输出9行,每行有9列,本关任务需要使用双重循环,外层循环输出行,内层循环输出列。行需要循环9次,每行列也要循环9次,用嵌套的for循环实现,每输出一行,需输出一个换行符。在内循环输出表达式后用\t,它是水平制表符,效果是每个式子之间有空隙,然后在内循环结束后加一个输出\n,目的是换行。外层循环次数由i控制,由1执行到9,即控制输出9行,对应于i的每一个值,内层循环控制变量j的值都由1执行到9结束。两层嵌套的for循环实现输出九九乘法表,外层循环输出行,内层循环输出列。
2025-03-18 19:35:32
897
原创 定义日期结构体类型(包括年、月、日),实现输入一个日期显示它是该年第几天
C 语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许用户为数据类型取“别名”,通过类型定义符typedef即可完成此功能。根据提示,在右侧编辑器 Begin-End 区间补充代码,利用给定的别名DATE定义变量,从后台依次获取年、月、日,根据年月日,计算出它是该年第几天,并按照指定格式输出结果。用typedef定义数组类型、指针类型,结构体类型、共用体类型、枚举类型等类型的别名,使得编程更加方便;用typedef只是对已经存在的类型指定一个新的类型名,而没有创造新的类型;
2025-03-16 17:03:15
556
原创 用指针实现数组元素循环移动
本关任务:编写程序,用指针实现以下功能, n 个整数存入一维数组中,将该数组循环左移 m 位。如一个长度为 10 的数组中原来的元素顺序为0 1 2 3 4 5 6 7 8 9,则循环左移 3 个位置后元素的顺序为 3 4 5 6 7 8 9 0 1 2。假如一个长度为n=10的数组中,原来的元素顺序为(0 1 2 3 4 5 6 7 8 9),循环左移m=3个位置。第一步:首先逆置数组前m个元素,则数组中元素为(2 1 0 3 4 5 6 7 8 9);printf(“输入%d个整数:\n”,n);
2025-03-15 16:58:33
1189
原创 任意输入n个从小到大的整数的数列,然后输入一个整数插入到数列中,使数列保持从小到大的顺序
向右移动插入点后的元素:先把a[n-1]移到a[n],a[n-2]移到a[n-1],…,a[i]移到a[i+1],直到把a[j]移到a[j+1],即在i=j时停止移动元素;从数组最后一个元素开始,将要插入的数据x与数组最后一个元素比较,如果小于数组的元素,将数组元素向后移动一位,给倒数第二个向后移的数据腾出位置;本关任务:任意输入n个从小到大的整数,然后输入一个整数插入到数组中,使数组元素仍然保持从小到大的顺序(假设数组空间足够大)。第一行包含一个整数,表示输入的整数个数n,第三行包含一个要插入的整数。
2025-03-14 18:33:34
509
原创 输入一批整数,以0为结束标志,找出最大数和最小数所在的位置,并把二者对调
本关任务:输入一批整数,最多不超过100个,以 0 为结束标志,找出最大数和最小值所在的位置,并把二者对调,然后输出调整后的这批整数。//max存放最大值,pmax存放最大值下标。//min存放最小值,pmin存放最小值下标。请大家思考,上述代码中,这两个变量max、min是否是多余的呢?求数组的最大值,是不是很像打擂台呢?根据提示,在右侧编辑器补充代码。开始你的任务吧,祝你成功!最大值:76,下标:6。最小值:2,下标:4。
2025-03-13 11:26:06
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人