回顾一下吧:

一、

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

解析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

常规写法:

#include<stdio.h>

int main()
{
int i,j,k;
printf("\n");
for(i=;i<;i++) { // 以下为三重循环
for(j=;j<;j++) {
for (k=;k<;k++) { // 确保i、j、k三位互不相同
if (i!=k&&i!=j&&j!=k) {
printf("%d,%d,%d\n",i,j,k);
}
}
}
}
}

避免一些不必要的循环,下面是优化写法:

#include<stdio.h>
int main()
{
int i,j,k;
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(i==j)//百位与十位重复,跳过当前十位
continue;
for(k=;k<;k++)
{
if(i==k||j==k)//百位与个位重复,或十位与个位重复
continue;
printf("%d %d %d\n",i,j,k);
}
}
}
return ;
}

二、

企业发放的奖金根据利润提成。

  • 利润(I)低于或等于10万元时,奖金可提10%;
  • 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
  • 20万到40万之间时,高于20万元的部分,可提成5%;
  • 40万到60万之间时高于40万元的部分,可提成3%;
  • 60万到100万之间时,高于60万元的部分,可提成1.5%;
  • 高于100万元时,超过100万元的部分按1%提成。

从键盘输入当月利润I,求应发放奖金总数?

#include<stdio.h>
int main()
{
double i;
double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
printf("您好,请输入您的净利润:\n");
scanf("%lf",&i);
bonus1=*0.1;
bonus2=bonus1+*0.75;
bonus4=bonus2+*0.05;
bonus6=bonus4+*0.03;
bonus10=bonus6+*0.015;
if(i<)
{
bonus=i*0.1;
}
else if(i<=)
{
bonus=bonus1+(i-)*0.075;
}
else if(i<=)
{
bonus=bonus2+(i-)*0.05;
}
else if(i<=)
{
bonus=bonus4+(i-)*0.03;
}
else if(i<=)
{
bonus=bonus6+(i-)*0.015;
}
else if(i>)
{
bonus=bonus10+(i-)*0.001;
}
printf("您获得的提成为:bonus=%lf.\n",bonus); return ;
}

用循环优化:

#include<stdio.h>
int main()
{
int i;
double lirun;
double jiangjin = ;
float fanwei[] = {, , , , };
float ticheng[] = {0.1, 0.075, 0.05, 0.03, 0.015, 0.01};
printf("您好,请问您的净利润是多少?\n");
scanf("%lf", &lirun);
for (i=;i<;i++)
{
if (lirun < fanwei[i])
{
jiangjin += lirun * ticheng[i];
break;
}
else
{
jiangjin += fanwei[i] * ticheng[i];
lirun -= fanwei[i];
}
}
printf("提成是%.2lf\n", jiangjin); return ;
}

三、

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:

假设该数为 x。

1、则:x + 100 = n2, x + 100 + 168 = m2

2、计算等式:m2 - n2 = (m + n)(m - n) = 168

3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。

5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。

6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1

7、接下来将 i 的所有数字循环计算即可。

/*一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?*/
#include<stdio.h>
int main()
{
int i,j,m,n,x;
for(i=;i</+;i++)
{
if(%i==)
{
j=/i;
if(i>j&&(i+j)%==&&(i-j)%==)
{
m=(i+j)/;
n=(i-j)/;
x=n*n-;
printf("%d+100=%d*%d\n",x,n,n);
printf("%d+100+168=%d*%d\n",x,m,m);
}
} }
return ;
}

四、

古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)

分析(及其易懂了):

说明:δ1表示出生第一个月的兔子数量,δ2表示出生第二个的兔子数量,δ3表示出生第三个月即成熟的兔子数量(单位:对)。也就是只有标注为δ3的兔子对才能生出新的一对δ1。下面分析中我们直接以δ出现的个数表示现存的兔子对数。

第一个月:δ1                                                                                                    (1只)

第二个月:δ2                                                                                                    (1只)

第三个月:δ3+                                          δ1                                                    (2只)

第四个月:δ3+                        δ1+            δ2                                                    (3只)

第五个月:δ3+            δ1+      δ2+            δ3+            δ1                                  (5只)

第六个月:δ3+      δ1+δ2+      δ3+      δ1+δ3+      δ1+δ2                                  (8只)

第七个月:δ3+δ1+δ2+δ3+δ1+δ3+δ1+δ2+δ3+δ1+δ2+δ3+δ1                            (13只)

以此类推。。。(为便于观察理解,上述分析中,上下能对应的是同一只兔子的生长状态,纵向观察一下这些可爱的δ,有没有发现更容易理解了呢)

用数组:

#include <stdio.h>

int main()
{
int n[],i; //i表示月份 n[]=; //赋值
n[]=;
n[]=; for(i=;i<;i++)//计算从第三个月开始的兔子数量,i=3
{
n[i]=n[i-]+n[i-];
} printf("month\tnumber\n"); //输出 for(i=;i<;i++)//输出自第一个月开始的兔子数量,i=1
{
printf("%d\t%d\n",i,n[i]);
}
return ;
}

下面是递归方式,运行一下你会发现,时间复杂度较大,运算效率很低:

//斐波那契数列

#include<stdio.h>

int fibonaci(int i)
{
if(i == )
{
return ;
}
if(i == )
{
return ;
}
return fibonaci(i-) + fibonaci(i-);
} int main()
{
int i;
printf("month\tnumber\n");
for (i = ; i < ; i++)
{
printf("%d\t%d\n", i,fibonaci(i));
} return ;
}

五、

判断101到200之间的素数。

分析:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

#include<stdio.h>
#include<math.h> int main()
{
int i,j,k;
for(i=;i<;i++)
{
k=sqrt(i); //如果i不能被2~√i间任一整数整除,i必定是素数
for(j=;j<=k;j++) if(i%j==) break;
if(j>k) printf("%d\n",i);
}
}

六、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

#include<stdio.h>

int main()
{
int i,x,y,z;
for(i=;i<;i++)
{
x=i%;//个位数
y=i/%;//十位数
z=i/%;//百位数 if(i==(x*x*x+y*y*y+z*z*z))
printf("%d\n",i);
}
return ;
}

七、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

  • (1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
  • (2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
  • (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
#include<stdio.h>
int main()
{
int n,i;
printf("请输入整数:");
scanf("%d",&n);
printf("%d=",n);
for(i=;i<=n;i++)
{
while(n%i==)
{
printf("%d",i);
n/=i;
if(n!=) printf("*");
}
} printf("\n");
return ;
}

八、输入两个正整数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的最大公约数也是c,即gcd(a,b)=gcd(b,a mod b),得证。

2)算法描述:

第一步:a ÷ b,令r为所得余数(0≤r<b);

第二步:互换:置 a←b,b←r,并返回第一步。

附:辗转相除法

有两整数a和b:

① a%b得余数c

② 若c=0,则b即为两数的最大公约数

③ 若c≠0,则a=b,b=c,再回去执行①

例如求27和15的最大公约数过程为:

27÷15 余1215÷12余312÷3余0因此,3即为最大公约数

#include<stdio.h>
int main()
{
int a,b,t,r;
printf("请输入两个数字:\n");
scanf("%d %d",&a,&b);
if(a<b)
{
t=b;
b=a;
a=t;
}
r=a%b;
int n=a*b;
while(r!=)//辗转相除法
{
a=b;
b=r;
r=a%b;
}
printf("这两个数的最大公约数是%d,最小公倍数是%d\n",b,n/b);
return ;
}

九、打印出杨辉三角形(要求打印出10行)。

#include <stdio.h>

int main()
{
int i,j;
int a[][];
printf("\n");
for(i=;i<;i++) {
a[i][]=;
a[i][i]=;
}
for(i=;i<;i++)
for(j=;j<i;j++)
a[i][j]=a[i-][j-]+a[i-][j];
for(i=;i<;i++) {
for(j=;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

结构如下所示:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

十、创建一个链表。

分析:

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct node
{
int data;
struct node *next;
}node,*Linklist; Linklist CreateList(int n)
{
int i = ;
Linklist L,rear,s;
L = (node*)malloc(sizeof(node));
if(!L)
return ;
L->next = NULL;
rear = L;
while(n)
{
s = (Linklist)malloc(sizeof(node));
printf("请输入第%d个数:",i++);
scanf("%d",&(s->data));
rear->next = s;
rear = s;
n--;
}
rear->next = NULL;
return L;
}
void Print(Linklist L)
{
Linklist p = L->next;
while(p)
{
printf("%d ",p->data);
p = p->next;
}
} int main(void)
{
Linklist L = NULL;
int n;
printf("请输入数据个数:\n");
scanf("%d",&n);
L = CreateList(n);
Print(L);
printf("\n");
return ;
}

十一、反向输出一个链表。

#include <stdio.h>
#include <stdlib.h> struct list
{
int data;
struct list *next;
}; typedef struct list node;
typedef node *link; void main()
{
link ptr, head, tail;
int num, i;
tail=(link)malloc(sizeof(node));
tail->next=NULL;
ptr=tail;
printf("Please enter 5 data ==>\n");
for(i=; i <= ; i++)
{
scanf("%d", &num);
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=ptr;
ptr=head;
}
ptr=ptr->next;
while(ptr != NULL)
{
printf("The value is ==>%d\n", ptr->data);
ptr=ptr->next;
}
}

十二、连接两个链表。

#include <stdlib.h>
#include <stdio.h>
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer,link tmp)
{
if (tmp==NULL) /*delete first node*/
return pointer->next;
else
{
if(tmp->next->next==NULL)/*delete last node*/
tmp->next=NULL;
else /*delete the other node*/
tmp->next=tmp->next->next;
return pointer;
}
}
void selection_sort(link pointer,int num)
{
link tmp,btmp;
int i,min;
for(i=;i<num;i++)
{
tmp=pointer;
min=tmp->data;
btmp=NULL;
while(tmp->next)
{
if(min>tmp->next->data)
{
min=tmp->next->data;
btmp=tmp;
}
tmp=tmp->next;
}
printf("\40: %d\n",min);
pointer=delete_node(pointer,btmp);
}
}
link create_list(int array[],int num)
{
link tmp1,tmp2,pointer;
int i;
pointer=(link)malloc(sizeof(node));
pointer->data=array[];
tmp1=pointer;
for(i=;i<num;i++)
{
tmp2=(link)malloc(sizeof(node));
tmp2->next=NULL;
tmp2->data=array[i];
tmp1->next=tmp2;
tmp1=tmp1->next;
}
return pointer;
}
link concatenate(link pointer1,link pointer2)
{
link tmp;
tmp=pointer1;
while(tmp->next)
tmp=tmp->next;
tmp->next=pointer2;
return pointer1;
}
int main(void)
{
int arr1[]={,,,,};
link ptr;
ptr=create_list(arr1,);
selection_sort(ptr,);
}

十三、输入一个整数,并将其反转后输出。

#include <stdio.h>
int main()
{
int n,reverseNumber=,remainder; printf("请输入一个整数:");
scanf("%d",&n); while(n!=)
{
remainder=n%;
reverseNumber=reverseNumber*+remainder;
n/=;
}
printf("反转后的整数是:%d\n",reverseNumber);
return ;
}

十四、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)。

#include<stdio.h>
#include<stdlib.h>
double evenumber(int n);
double oddnumber(int n); int main()
{
int n;
double r;
double (*pfunc)(int);
printf("请输入一个数字:");
scanf("%d",&n);
if(n%==) pfunc=evenumber;//偶数
else pfunc=oddnumber;//奇数 r=(*pfunc)(n);
printf("%lf\n",r); system("pause");
return ;
}
double evenumber(int n)//偶数时,执行1/2+1/4+...+1/n
{
double s=,a=;
int i;
for(i=;i<=n;i+=)
{
a=(double)/i;
s+=a;
}
return s;
}
double oddnumber(int n)//奇数时,执行1/1+1/3+...+1/n
{
double s=,a=;
int i;
for(i=;i<=n;i+=)
{
a=(double)/i;
s+=a;
}
return s;
}

十五、填空练习(指向指针的指针)。

#include<stdio.h>
#include<stdlib.h>
int main()
{
char *s[]={"man","woman","girl","boy","sister"};
char **q;
int k;
for(k=;k<;k++)
{
q=&s[k]; /*在这里填入内容*/
printf("%s\n",*q);
}
return ;
}

十六、八进制转换为十进制

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n=,i=;
char s[];
printf("请输入一个8进制数:\n");
gets(s);
while(s[i]!='\0'){
n=n*+s[i]-'';
i++;
}
printf("刚输入的8进制数转化为十进制为\n%d\n",n); return ;
}

十七、求0—7所能组成的奇数个数。

程序分析:

这个问题其实是一个排列组合的问题,设这个数为 sun=a1a2a3a4a5a6a7a8,a1-a8 表示这个数的某位的数值,当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字。如果最后一位数为偶数,则这个数一定为偶数。

a1-a8可以取 0-7 这个八个数字,首位数字不为 0。

从该数为一位数到该数为8位数开始统计奇数的个数:

  • 1.当只有一位数时也就是该数的最后一位,奇数个数为4
  • 2.当该数为两位数时,奇数个数为4*7=28
  • 3.当该数为三位数时,奇数个数为:4*8*7=224
  • ...
  • 8.当该数为八位数时,奇数个数为:4*8*8*8*8*8*8*7(依次为最后一位到第一位)
#include<stdio.h>
int main(int agrc, char*agrv[])
{
long sum = , s = ;//sum的初始值为4表示,只有一位数字组成的奇数个数为4个
int j;
for (j = ; j <= ; j++)
{
printf("%d位数为奇数的个数%ld\n", j-, s);
if (j <= )
s *= ;
else
s *= ;
sum += s;
}
printf("%d位数为奇数的个数%ld\n", j-, s);
printf("奇数的总个数为:%ld\n", sum);
// system("pause");
return ;
}

十八、一个偶数总能表示为两个素数之和。

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Isprimer(unsigned int n);
int main()
{
unsigned int n,i;
do{
printf("请输入一个偶数:\n");
scanf("%d",&n);
}while(n%!=);
for(i=;i<n;i++)
if(Isprimer(i)&&Isprimer(n-i))
break;
printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i); return ;
}
int Isprimer(unsigned int n)
{
int i;
if(n<)return ;
else if(n%==)return ;
else
for(i=;i<sqrt(n)+;i++)
if(n%i==)return ; return ;
}

十九、判断一个素数能被几个9整除。

分析:这道题的意思应该是判断一个数能被含有且只含有若干个9的数字整除。素数是不能被除1和自身之外的数整除的

#include<stdio.h>
#include<stdlib.h>
int main()
{
int p,i;
long int sum=;
printf("请输入一个素数:\n");
scanf("%d",&p);
for(i=;;i++)
if(sum%p==)break;
else sum=sum*+; printf("素数%d能整除%d个9组成的数%ld\n",p,i,sum);
return ;
}

二十、将两个字符串连接。

#include <stdio.h>
#include<stdlib.h>
#include<string.h> char* strconnect(char *str1,char *str2); int main()
{
char str1[],str2[];
char *str;
puts("请输入两个字符串,用回车分开:");
scanf("%s%s", str1, str2);
str=strconnect(str1,str2);
puts("连接后的字符串为:");
puts(str);
return ;
}
char* strconnect(char *str1,char *str2)
{
char*str;
str=(char*)malloc(strlen(str1)+strlen(str2)+);
str[]='\0';
strcat(str,str1);
strcat(str,str2);
return str;
}

二十一、

读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。

#include <stdio.h>
void Print(int n)
{
for(int i=;i<n;i++)
printf("*");
printf("\n");
}
int main()
{
int n;
for(int i=;i<;i++)//7:每轮只能输出7次,之后程序退出
{
printf("你想输出几颗星:",n);
scanf("%d",&n);
Print(n);
}
return ;
}

二十二、猜谜游戏。

#include <stdio.h>
#include <stdlib.h>
#include <time.h> void caizi(void)
{
int n;
char begin;
int count = ;
srand((int)time(NULL));
int m = (rand() % ) + ;
puts("游戏开始,请输入数字:");
while ()
{
scanf("%d", &n);
if (n == m)
{
printf("猜中了,使用了 %d 次!\n", count);
if (count == )
{
printf("你是神级人物了!膜拜\n");
getchar();
printf("你已经达到最高级别,还需要玩吗?Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y') //重复玩的一个嵌套循环
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if (count <= )
{
printf("你是王级人物了!非常赞\n");
getchar();
printf("需要挑战最高级别不?Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if (count <= )
{
printf("你是大师级人物了!狂赞\n");
getchar();
printf("需要挑战最高级别不?Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if (count <= )
{
printf("你是钻石级人物了!怒赞\n");
getchar();
printf("需要挑战最高级别不?Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else
{
getchar();
printf("你的技术还有待提高哦!重玩? Y/N\n");
scanf("%c",&begin);
if (begin == 'Y' || begin == 'y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
break;
}
else if (n < m)
{
puts("太小了!");
puts("重新输入:");
}
else
{
puts("太大了!");
puts("重新输入:");
}
count++;//计数器 }
} int main(void)
{ caizi();
system("pause");
return ;
}

二十三、简单的结构体应用实例。

#include <stdio.h>

struct programming
{
float constant;
char *pointer;
}; int main()
{
struct programming variable;
char string[] = "https://home.cnblogs.com/u/ariel-dreamland/"; variable.constant = 1.23;
variable.pointer = string; printf("%f\n", variable.constant);
printf("%s\n", variable.pointer); return ;
}

二十四、计算字符串中子串出现的次数 。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i,j,k,TLen,PLen,count=;
char T[],P[];
printf("请输入两个字符串,以回车隔开,母串在前,子串在后:\n");
gets(T);
gets(P);
TLen=strlen(T);
PLen=strlen(P);
for(i=;i<=TLen-PLen;i++)
{
for(j=,k=i;j<PLen&&P[j]==T[k];j++,k++)
;
if(j==PLen)count++;
}
printf("%d\n",count);
system("pause");
return ;
}

C语言经典题目的更多相关文章

  1. C#部分---语言经典题目——兔子生兔子

    根据本月成兔=上月成兔+上月小兔:本月小兔=上月幼兔:本月幼兔=本月成兔 利用while循环: Console.WriteLine("请输入月份:"); //int m = int ...

  2. C语言经典例题100

    C语言经典例题100 来源 http://www.fishc.com 适合初学者 ----------------------------------------------------------- ...

  3. C语言经典100例(51-100)

    [程序51] 题目:学习使用按位与 & . 分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 #include "stdio.h" ...

  4. C语言经典100例(1-50)

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. main ...

  5. 嵌入式软件工程师C语言经典笔试1

    一. 预处理器(Preprocessor) 1.1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 6 ...

  6. C语言经典100例-ex002

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  7. C语言经典100例-ex001

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  8. C语言经典88案例,我文科妹妹说她都学会了!

    案例ex01: 将字符串转换为一个整数 1 题目 函数:fun() 功能:将字符串转换为一个整数 描述: [不能使用C语言提供的字符串函数] 输入:字符串"-1234" 输出:整型 ...

  9. 学习心得:《十个利用矩阵乘法解决的经典题目》from Matrix67

    本文来自:http://www.matrix67.com/blog/archives/tag/poj大牛的博文学习学习 节选如下部分:矩阵乘法的两个重要性质:一,矩阵乘法不满足交换律:二,矩阵乘法满足 ...

随机推荐

  1. ORM框架SQLAlchemy

    SQLAlchemy orm英文全称object relational mapping,就是对象映射关系程序,简单来说就是类似python这种面向对象的程序来说一切皆对象,但是使用的数据库却都是关系型 ...

  2. Spring 简单使用IoC与DI——XML配置

    目录 Spring简介 导入jar包 Spring配置文件 Spring的IoC IoC简介 快速使用IoC Spring创建对象的三种方式 使用构造方法 使用实例工厂 使用静态静态工厂 Spring ...

  3. c语言提高篇 第一天

    一.听课标准 1.选择法排序 2.会简单封装函数 3.数组做函数参数会退化为一级指针 a.数组做函数参数时,应该吧数组元素个数也传递给函数 b.形参中的数组,编译器把它仿作指针处理,c语言特色 c.实 ...

  4. Comparable vs Comparator

    Comparable interface can be used to provide single way of sorting whereas Comparator interface is us ...

  5. 17.kubernete的dashboard

    部署dashboard kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/depl ...

  6. 数据分析---《Python for Data Analysis》学习笔记【04】

    <Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...

  7. Django admin组件源码流程

    admin 组件 Django 自带的用户后台组件 用于用户便携的操作 admin 组件核心 启动 注册 设计url 启动核心代码 每个app 通过 apps.py 扫描 admin.py 文件 并执 ...

  8. css经常使用的六种文本样式

    css当中经常使用的六种文本样式 css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式. 首行缩进 首行缩进是将段落的第一行缩进,这是常用的文本格式化效果.一般地,中文写作时开头空 ...

  9. centos7关闭ipv6

    方法一: 编辑文件 /etc/sysctl.conf ,新增以下两行 net.ipv6.conf.all.disable_ipv6 = net.ipv6.conf.default.disable_ip ...

  10. <三>企业级开源仓库nexus3实战应用–使用nexus3配置maven私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...