💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
第一部分c语言选择 比较有印象的是常量指针,指针常量 1、常量指针:本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。 ~~~ const int *p,int const *p; ~~~ ~~~ int a=10,b=20; const int *p=&a; p=&b;//指针可以指向其他地址,但是内容不可以改变。 ~~~ 2、指针常量:指针类型的常量(int \*const p) 本身是一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。 ~~~ int a=10,b=20; int * const p=&a; *p=30;//p指向的地址是一定的,但其内容可以修改。 ~~~ 3、为score表建立Sno、Cno的唯一索引。 ~~~ 建立索引是加快查询速度的有效手段。 create unique index SCno on Score(Sno,Cno) ~~~ # 编程题 ### 1, 分桃子 >1、海滩上有一堆桃子,5只猴子来分。第一只猴子把这堆桃子平均分 为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。 第二只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把 多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的。试问,海滩上原来有最少有多少个桃子? 分析:第二到五只猴子看到猴子的数量一定是4的倍数, ~~~ 解题思路: 从第五步逆推: 5x+1=4y; 4y+y+1=4z; 4z+z+1=4p; 4p+p+1=4s; 4s+s+1=最初 y=(5x+1)/4; 4z=5y+1=(5x+1)/4*5+1 */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> #define N 8 main() { int c,i,j,k=0,t; for(i=4;i<10000;i=i+4){ c=1; t=i; for(j=0;j<5;j++){ k=i/4*5+1; i=k; if(k%4==0){ c++; }else{ break; } } i=t; if(c==5){ printf("%d ",k); } } } ~~~ ### 2、求1000以内所有的完数 >完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。 ``` public class PerfectNumber { public static void main(String[] args) { for (int i = 1; i < 1000; i++) { int sum = 0; //记录一个数的因子的和 for (int j = 1; j < i; j++) { //找这个数的因子 if (i % j == 0) { sum += j; } } //如果这个数等于他的因子之和,就打印输出 if (i == sum) { System.out.println(i); } } } } ```