- 博客(63)
- 收藏
- 关注
原创 Java 学者出国求学的总天数
学者A去国外求学,假定离开祖国的日子为公元A年B月C日,返回的日子为。请计算A出国求学的总天数(含离开和返回的当天)
2022-08-26 19:09:28
294
原创 java 从字符串中 输出连续的整数
/ 例如:字符串中有3个整数:12 93 5786.统计整数个数,并依次输出。// 如xy12ab93?5789$,连续的数字为一个整数。//编写程序,从键盘输入一个字符串,内有数字和非数字字符。
2022-08-24 18:30:00
1571
原创 泛型的语法和细节
//等号右边里可不写,编译器会进行类型推断, 推荐不写 ArrayList list1 = new ArrayList();//等号左边可以用接口接收,里一定要写具体类型 List list2 = new ArrayList();//如果这样写,泛型默认是, 就是Object...
2022-08-18 18:15:00
154
原创 java 继承的本质--内存布局
class 子类 extends 父类{}好处: 解决了代码的复用性, 提高了代码的扩展性 和维护性注意:(1) 子类继承了所有的属性 方法。非私有的可以,但私有属性和方法 不能在子类中直接访问,要通过父类提供公 共public的方法访问(2) 子类最多只能继承一个父类(指直接继承),即java 是单继承机制。那如何让A类 继承B类和C类?-----让A继承B类,B继承C类。则A都可以用A和B的方法了。...
2022-08-13 16:26:10
213
原创 idea 快捷键 自己也可以修改
生成构造器 fn +alt+Insert ----Insert键位于键盘最上面第一排倒数第二个键,即在Delete键左边。将光标放到一个类上,ctrl+U,快速定位到该类 -----学习继承后非常有用。快速运行run程序 alt+R 或 shift+ctrl+F10。复制duplicate当前行 ctrl+alt+向下箭头。快速格式化format代码 ctrl+alt+F。模板-----也可以自己定义自己习惯的模板。itit while循环。I 增强for。...
2022-08-13 11:12:40
338
原创 C语言练习 day38- day39
day38题目:求一个3*3矩阵对角线元素之和程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。实例#include<stdio.h>#define N 3int main(){ int i,j,a[N][N],sum=0; printf("请输入矩阵(3*3):\n"); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i]
2022-05-31 20:00:00
206
原创 C语言练习 day36 - day37
day36题目:求100之内的素数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。实例#include<stdio.h>#include<math.h>int main(){ int i,j,k,n=0; for(i=2;i<=100;i++) { k=(int)sqrt(i); for(j=2;j<=k;j++)
2022-05-30 22:49:15
191
原创 C语言练习 day33
day33题目:判断一个数字是否为质数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。实例#include<stdio.h>#include<math.h>#define MAX 1000 int prime[MAX]; int isPrimeNaive(int n){ if(n <= 1) return 0; for(int i = 2; i
2022-05-28 23:26:09
191
原创 C语言练习 day29 - day30
day29题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。学会分解出每一位数实例#include <stdio.h> int main( ){ long a,b,c,d,e,x; printf("请输入 5 位数字:"); scanf("%ld",&x); a=x/10000; /*分解出万位*/ b=x%10000/1000; /*分解出千位*/ c=x%1000/100;
2022-05-26 23:05:07
133
原创 C语言练习 day27 - day28
27题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。实例#include <stdio.h> int main(){ int i=5; void palin(int n); printf("请输入5个字符\40:\40"); palin(i); printf("\n");}void palin(n)int n;{ char next; if(n<=1) { next=getcha
2022-05-22 20:15:00
124
原创 C语言练习 day24- day25 - day26
24题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。程序分析:请抓住分子与分母的变化规律。实例#include <stdio.h> int main(){ int i,t; float sum=0; float a=2,b=1; for(i=1;i<=20;i++) { sum=sum+a/b; t=a; a=a+b;
2022-05-21 20:15:00
152
原创 C语言练习 day 20 - day21
20题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?实例#include<stdio.h>int main(){ float h,s; h=s=100; h=h/2; //第一次反弹高度 for(int i=2;i<=10;i++) { s=s+2*h; h=h/2; } printf("第10次落地时,共经过%f米
2022-05-19 19:00:00
185
原创 C语言练习 day18 & day19
18题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。程序分析:关键是计算出每一项的值。实例#include<stdio.h>int main(){ int s=0,a,n,t; printf("请输入 a 和 n:\n"); scanf("%d%d",&a,&n); t=a; while(n>0) {
2022-05-18 10:45:18
121
原创 C语言练习 day16 & day17
day16题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;(2)求最大公约数用辗转相除法(又名欧几里德算法)1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,令r=a mod b设a=kc,b=jc,则k,j互素,否则c不是最大公约数据上,r=a-mb=kc-mjc=(k-mj)c可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互素矛盾,由此可知,b与r的最
2022-05-16 12:24:24
128
原创 C语言练习 day14 & day15
day14题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。实例#include<stdio.h>int main(){
2022-05-15 12:15:00
138
原创 C语言练习 day12 & day13
题目:判断 101 到 200 之间的素数。素数,指除了1和该数本身之外,不能被其他任何整数整除的数。例如,13 是素数,因为它不能被 2,3,4…,12整除。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。实例#include <stdio.h> int main(){ int i,j; int count=0; for (i=101; i<=200; i++)
2022-05-14 12:15:00
146
原创 C语言练习 day8
题目:输出9*9口诀。这道题很经典程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。实例#include<stdio.h>int main(){ int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1;j<=i;j++) { result=i*j; printf("%d*%d=%-3
2022-05-11 12:00:00
182
原创 C语言练习 day5
题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。实例#include <stdio.h> int main(){ int x,y,z,t; printf("\n请输入三个数字:\n"); scanf("%d%d%d",&x,&y,&z); if
2022-05-09 12:15:00
366
原创 C语言练习 day4
题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。实例#include <stdio.h>int main(){ int day,month,year,sum,leap; printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n"); scanf("%d,%d,%d",&year,&mon
2022-05-08 12:15:00
156
原创 《被讨厌的勇气》---希望大家都能勇敢前行
这是我之前读过的一本书,算不上心灵鸡汤。类似《理想国》的对话体,挺有哲理的。对于感性的东西,常常是公说公有理,婆说婆有理。你可能里面有些不太认同。可以耐着性子看下去,可能会有某个点触动到你。在这里我就不述说全书内容了。感兴趣的可以买书看看。我之前有一个朋友A,进了某国企,他经常说自己很喜欢敲代码。但是我看他一年来都没怎么敲代码呀。就好奇问他那你为什么不敲呢?他说太忙了没时间。反观我有另外一个朋友B,他进了字节跳动,应该还是比较忙的吧,但是看他的朋友圈,经常晒出一些旅游美景,美食,健身照。工作
2022-05-07 12:58:22
240
原创 C语言练习 day3
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?自己先想想~程序分析:假设该数为 x。1、则:x + 100 = n², x + 100 + 168 = m²2、计算等式:m² - n² = (m + n)(m - n) = 1683、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
2022-05-07 11:45:00
209
原创 数据结构核心代码 day25
注:数据结构核心代码终于到尾声了。但是掌握了核心代码还不够,还需要做题啊!做王道书上课后习题,院校真题,多来几轮,毕竟代码题型是有限的,多写代码,动手写,早点开始!你可以的!8.4 归并排序ElemType *B=(ElemType *)malloc((n+1)*sizeof(ElemType));//辅助数组Bvoid Merge(ElemType A[],int low,int mid,int high){//表A的两端A[low…mid]和A[mid+1…high]各自有序,将它们合并成一
2022-05-02 22:00:00
174
原创 数据结构核心代码 day24
注:堆排序很重要。一定要先理解,先掌握大根堆,也就会小根堆了。堆排序建立大根堆void BuildMaxHeap(ElemType A[], int len) {//建立大根堆for (int i = len / 2; i > 0; i–) //从i=[n/2]~1,反复调整堆AdjustDown(A, i, len);}void AdjustDown(ElemType A[], int k, int len) {//函数AdjustDown将元素k向下进行调整A[0] = A[k
2022-05-01 21:45:00
93
原创 数据结构核心代码 day23
注:快排 是所有内部排序算法中平均性能最优的排序算法。绝对重要快速排序void QuickSort(ElemType A[], int low, int high) {//快速排序if (low < high) { //递归跳出的条件//Partition()就是划分操作,将表A[low…high]划分为满足上述条件的两个子表int pivotpos = Partition(A, low, high); //划分QuickSort(A, low, pivotpos - 1); //依次对
2022-04-30 22:00:00
140
原创 数据结构核心代码 day22
希尔排序void ShellSort(ElemType A[], int n) {//希尔排序,对顺序表做希尔插入排序,比直接插入排序有如下修改//1.前后记录的增量是dk,不是1//2.A[0]只是暂存单元,不是哨兵,当j<=0时,插入位置已到int i, j, dk; //dk:步长for (dk = n / 2; dk >= 1; dk = dk / 2) //步长变化for (i = dk + 1; i <= n; ++i)if (A[i].key < A[i
2022-04-29 22:00:00
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人