1 有一个函数, 写一段程序,输入的值,输出的值。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int x,y;
  5. printf("输入x:");
  6. scanf("%d",&x);
  7. if(x<0||x>100) /* x<0或x>100*/
  8. {
  9. y=-1;
  10. printf("x=%3d, y=%d\n" ,x,y);
  11. }
  12. else if(x==0) /* x=0*/
  13. {
  14. y=0;
  15. printf("x=%d, y=%d\n",x,y);
  16. }
  17. else /* 0<x<=100 */
  18. {
  19. y=1;
  20. printf("x=%d, y=%d\n",x,y);
  21. }
  22. }

2 输入3个数a,b,c,按大由到小的顺序输出  

  1. #include <stdio.h>
  2. void main ( )
  3. {
  4. float a,b,c,t;
  5. printf("please enter a,b,c:");
  6. scanf("%f,%f,%f",&a,&b,&c);
  7. if(a<b)
  8. {
  9. t=a;
  10. a=b;
  11. b=t;
  12. }
  13. if(a<c)
  14. {
  15. t=a;
  16. a=c;
  17. c=t;
  18. }
  19. if(b<c)
  20. {
  21. t=b;
  22. b=c;
  23. c=t;
  24. }
  25. printf("%7.2f%7.2f%7.2f\n",a,b,c);
  26. }

3  输入4个数,输出4个数中的最大值、最小值。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. float t,a,b,c,d;
  5. printf("请输入四个数:");
  6. scanf("%f,%f,%f,%f",&a,&b,&c,&d);
  7. if (a<b)
  8. {
  9. t=a;
  10. a=b;
  11. b=t;
  12. }
  13. if (a<c)
  14. {
  15. t=a;
  16. a=c;
  17. c=t;
  18. }
  19. if (a<d)
  20. {
  21. t=a;
  22. a=d;
  23. d=t;
  24. }
  25. if (b<c)
  26. {
  27. t=b;
  28. b=c;
  29. c=t;
  30. }
  31. if (b<d)
  32. {
  33. t=b;
  34. b=d;
  35. d=t;
  36. }
  37. if (c<d)
  38. {
  39. t=c;
  40. c=d;
  41. d=t;
  42. }
  43. printf("最大值和最小值分别为: \n");
  44. printf("max=%5.2f min=%5.2f",a,d);
  45. }

4 输入成绩,要求输出成绩等级A、B、C、D、E或error。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,0~60分为‘E’。若输入成绩低于0分和高于100分则输出error。  

  1. #include <stdio.h>
  2. void main()
  3. {
  4. float score;
  5. char grade;
  6. printf("请输入学生成绩:");
  7. scanf("%f",&score);
  8. if (score>100||score<0)
  9. printf("error\n");
  10. else
  11. {
  12. switch((int)(score/10))
  13. {
  14. case 10:
  15. case 9:
  16. grade='A';
  17. break;
  18. case 8:
  19. grade='B';
  20. break;
  21. case 7:
  22. grade='C';
  23. break;
  24. case 6:
  25. grade='D';
  26. break;
  27. case 5:
  28. case 4:
  29. case 3:
  30. case 2:
  31. case 1:
  32. case 0:
  33. grade='E';
  34. }
  35. printf("成绩是 %5.1f,相应的等级是%c.\n ",score,grade);
  36. }
  37. }

5 有一个函数:写一段程序,输入x的值,输出y的值。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int x,y;
  5. printf("输入x:");
  6. scanf("%d",&x);
  7. if(x<1) /* x<1 */
  8. {
  9. y=x;
  10. printf("x=%3d, y=x=%d\n" ,x,y);
  11. }
  12. else if(x<10||x>10) /* 1=<x<10 */
  13. {
  14. y=2*x-1;
  15. printf("x=%d, y=2*x-1=%d\n",x,y);
  16. }
  17. else /* x>=10 */
  18. {
  19. y=3*x-11;
  20. printf("x=%d, y=3*x-11=%d\n",x,y);
  21. }
  22. }

6  输出300~400之间的全部素数,并按每行5个数输出。

方法一:

  1. #include "stdio.h"
  2. #include"math.h"
  3. void main()
  4. {
  5. int prime(int);
  6. int i,k,m;
  7. printf("300~400之间的素数为:\n");
  8. for(i=300; i<=400; i++)
  9. {
  10. m=prime(i);
  11. if(m==1)
  12. {
  13. k++;
  14. printf("%5d",i);
  15. if(k%5==0)
  16. printf("\n");
  17. }
  18. }
  19. }
  20. /*判断是否是素数
  21.  
  22. 素数又称质数。所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。
  23.  
  24. 思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。
  25.  
  26. 思路2):另外判断方法还可以简化。m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ √m 之间的每一个整数去除就可以了。如果m不能被 2 ~ √m 间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。
  27.  
  28. 原因:因为如果m能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于,另一个大于或等于。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可。
  29.  
  30. */
  31. int prime(int i)
  32. {
  33. int j,flag=1;
  34. for(j=2; j<=sqrt(i); j++)
  35. if(i%j==0)
  36. flag=0;
  37. return(flag);
  38. }

方法二:

  1. # include <stdio.h>
  2. # include <math.h>
  3. void main()
  4. {
  5. int m,k,i,n=0;
  6. for(m=300; m<=400; m=m+1)
  7. {
  8. k=sqrt(m);
  9. for (i=2; i<=k; i++)
  10. if (m%i==0) break;
  11. if (i>=k+1)
  12. {
  13. printf("%d ",m);
  14. n=n+1;
  15. }
  16. //每五个一行输出
  17. if(n%5==0) printf("\n");
  18. }
  19. printf ("\n");
  20. }

7求Fibonacci数列的前20个数,并将其分5行输出

扩展:求 F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int fun(int x)
  5. {
  6. if(x == 0 || x == 1)
  7. return 1;
  8. if(x > 1)
  9. return fun(x - 1)+fun(x - 2);
  10. }
  11. void main()
  12. {
  13. int n,f;
  14. printf("请输入n:");
  15. scanf("%d",&n);
  16. f = fun(n);
  17. printf("%d",f);
  18. }

  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int i;
  6. int f[20] = { 1,1 };
  7. for (i = 2; i < 20; i++)
  8. f[i] = f[i - 2] + f[i - 1];
  9. //打印输出
  10. for (i = 0; i < 20; i++)
  11. {
  12. if(i%5==0)
  13. printf("\n");
  14. printf("%d\t",f[i]);
  15. }
  16. return 0;
  17. }

8 求(1!+3)+(2!+3)+(3!+3)+......+(n!+3)

  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5. double t=1,sum=0;
  6. int n,i;
  7. printf("输入n:");
  8. scanf("%d",&n);
  9. for (i=1; i<=n; i++)
  10. {
  11. t=t*i; //求n!
  12. sum=t+3+sum;
  13. }
  14. printf("1!+3+...+%d!+3=%f\n",n,sum);
  15. }

9  有一分数序列,求其前20项的和

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int i,n=20;
  5. double a=2,b=1,s=0,t;
  6. for (i=1; i<=n; i++)
  7. {
  8. //a是分母,b是分子
  9. s=s+b/a; //
  10. t=a,
  11. a=a+b,
  12. b=t;
  13. }
  14. printf("sum=%16.10f\n",s);
  15. }

 

10  输出小于500的所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int i,j,k,n;
  5. printf("parcissus numbers are ");
  6. for (n=100; n<500; n++)
  7. {
  8. i=n/100; //百位数
  9. j=n/10-i*10; //十位数
  10. k=n%10; //个位数
  11. if (n==i*i*i + j*j*j + k*k*k)
  12. printf("%d ",n);
  13. }
  14. printf("\n");
  15. }

11 给一个不多于6位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为158,应输出851。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int n,m;
  5. printf("输入一个不多于六位的数字:");
  6. scanf("%d",&n);
  7. if(n<1000000&&n>99999)
  8. printf("它是六位数\n");
  9. if(n<100000&&n>9999)
  10. printf("它是五位数\n");
  11. if(n<10000&&n>999)
  12. printf("它是四位数\n");
  13. if(n<1000&&n>99)
  14. printf("它是三位数\n");
  15. if(n<100&&n>9)
  16. printf("它是二位数\n");
  17. if(n<10&&n>=0)
  18. printf("它是一位数\n");
  19. printf("各位数字按逆序输出为:\n");
  20. while(n!=0)
  21. {
  22. m=n%10;
  23. n=n/10;
  24. printf("%3d",m);
  25. }
  26. }

12 求5+55+555+5555+55555的值。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int a=5,n=5,i=1,sn=0,tn=0;
  5. for(i=1; i<=n; i++)
  6. {
  7. tn=tn+a; /*赋值后的tn为i个 a组成数的值*/
  8. sn=sn+tn; /*赋值后的sn为多项式前i项之和*/
  9. a=a*10;
  10. }
  11. printf("a+aa+..+aaaaa=%d\n",sn);
  12. }

13 输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。

方法一:

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[10];
  5. int i,j,t;
  6. printf("input 10 number:\n");
  7. for(i=0; i<10; i++)
  8. scanf("%d",&a[i]);
  9. //冒泡排序
  10. for(i=0; i<9; i++) //n-1趟
  11. for(j=0;j<9-i;j++) //
  12. if(a[j]>a[j+1])
  13. {
  14. t=a[j];
  15. a[j]=a[j+1];
  16. a[j+1]=t;
  17. };
  18. for(i=0; i<10; i++)
  19. printf("%5d ",a[i]);
  20. printf("\n");
  21. }

方法二:

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[10];
  5. int i,j,t;
  6. printf("input 10 number:\n");
  7. for(i=0; i<10; i++)
  8. scanf("%d",&a[i]);
  9. for(i=0; i<10; i++)
  10.  
  11. for(j=i; j<9; j++)
  12. if(a[i]>a[j+1])
  13. {
  14. t=a[i];
  15. a[i]=a[j+1];
  16. a[j+1]=t;
  17. };
  18. for(i=0; i<10; i++)
  19. printf("%5d ",a[i]);
  20. printf("\n");
  21.  
  22. }

14  将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[4][5],b[5][4];
  5. int i,j;
  6. for(i=0; i<4; i++)
  7. for(j=0; j<5; j++)
  8. scanf("%d",&a[i][j]);
  9. for(i=0; i<5; i++)
  10. for(j=0; j<4; j++)
  11. b[i][j]=a[j][i];
  12. printf("该数组的新序列为:\n");
  13. for(i=0; i<5; i++)
  14. {
  15. for(j=0; j<4; j++)
  16. printf("%5d",b[i][j]);
  17. printf("\n");
  18. }
  19. }

15  在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。

  1. #include "stdio.h"
  2.  
  3. void main()
  4. {
  5. int a[3][4],i,j,max;
  6. //输入数据
  7. for(i=0; i<3; i++)
  8. for(j=0; j<4; j++)
  9. scanf("%d",&a[i][j]);
  10. //求最大值
  11. max=a[0][0];
  12. for(i=0; i<3; i++)
  13. for(j=0; j<4; j++)
  14. if(max<a[i][j])
  15. max=a[i][j];
  16. printf("max=%d\n",max);
  17. //求最大值的行列号
  18. for(i=0; i<3; i++)
  19. for(j=0; j<4; j++)
  20. if(a[i][j]==max)
  21. printf("行=%2d,列=%2d\n",i+1,j+1);
  22. }

16 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int i,j=0;
  5. char str[80];
  6. gets(str);
  7. for(i=0; str[i]!='\0'; i++)
  8. if(str[i+1]==' '||str[i+1]=='\0')
  9. j++;
  10. printf("单词个数为%d\n",j);
  11. }

17 有3个字符串,要求找出其中最大者。

  1. #include "stdio.h"
  2. #include <string.h>
  3.  
  4. void main()
  5. {
  6. char str1[80],str2[80],str3[80],longest[80];
  7. gets(str1);
  8. printf("\n");
  9.  
  10. gets(str2);
  11. printf("\n");
  12.  
  13. gets(str3);
  14. /*
  15. strcmp(s1,s2)字符串比较函数,按字典排序的方式进行比较
  16. s1 == s2,返回0
  17. s1 > s2,返回正整数
  18. s1 < s2,返回负整数
  19. strcpy(s1,s2):字符串复制函数
  20. */
  21. strcpy(longest,str1);
  22. if(strcmp(str1,str2)<0)
  23. strcpy(longest,str2);
  24. if(strcmp(str2,str3)<0)
  25. strcpy(longest,str3);
  26. printf("the longest is %s",longest);
  27. }

18 输入两个整数,要求用一个函数求出其中的大者,并在主函数中输出此值。

方法一:

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int f(int a,int b);
  5. int m,n,max;
  6. printf("请输入两个数:");
  7. scanf("%d,%d",&m,&n);
  8. max=f(m,n);
  9. printf("max=%d",max);
  10. }
  11. int f(int a,int b)
  12. {
  13. int c;
  14. c=a>b?a:b;
  15. return(c);
  16. }

方法二:

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int f(int a,int b);
  5. int m,n,max;
  6. printf("请输入两个数:");
  7. scanf("%d,%d",&m,&n);
  8. max=f(m,n);
  9. printf("max=%d",max);
  10. }
  11. int f(int a,int b)
  12. {
  13. int c;
  14. if(a>b)
  15. c=a;
  16. else
  17. c=b;
  18. return(c);
  19. }

19 输入两个整数,要求用一个函数求出其最大公约数和最小公倍数,并在主函数中调用该子函数。链接

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int hcf(int,int);
  5. int lcd(int,int,int);
  6. int u,v,h,l;
  7. scanf("%d,%d",&u,&v);
  8. h=hcf(u,v);
  9. printf("最大公约数=%d\n",h);
  10. l=lcd(u,v,h);
  11. printf("最小公倍数=%d\n",l);
  12. }
  13. //最大公约数
  14. int hcf(int u,int v)
  15. {
  16. int t,r;
  17. //保证u是最大的
  18. if (v>u)
  19. {
  20. t=u;
  21. u=v;
  22. v=t;
  23. }
  24. //辗转相除法
  25. while ((r=u%v)!=0)
  26. {
  27. u=v;
  28. v=r;
  29. }
  30. return(v);
  31. }
  32. //最小公倍数
  33. int lcd(int u,int v,int h)
  34. {
  35. return(u*v/h);
  36. }

20 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int max_4(int a,int b,int c,int d);
  5. int a,b,c,d,max;
  6. printf("Please enter 4 interger numbers:");
  7. scanf("%d %d %d %d",&a,&b,&c,&d);
  8. max=max_4(a,b,c,d);
  9. printf("max=%d \n",max);
  10. }
  11. int max_4(int a,int b,int c,int d)
  12. {
  13. int max_2(int a,int b);
  14. int m;
  15. m=max_2(a,b);
  16. m=max_2(m,c);
  17. m=max_2(m,d);
  18. return(m);
  19. }
  20. int max_2(int a,int b)
  21. {
  22. return(a>b?a:b);
  23. }

21 求5!

方法一【递归】:

  1. #include <stdio.h>
  2. void main()
  3. {
  4. long fac(int n);
  5. long y;
  6. y=fac(5);
  7. printf("5!=%ld\n",y);
  8. }
  9.  
  10. long fac(int n)
  11. {
  12. long f;
  13. if(n<0)
  14. printf("n<0,data error!");
  15. else if(n==0,n==1)
  16. f=1;
  17. else
  18. f=fac(n-1)*n;
  19. return(f);
  20. }

方法二【非递归】:

  1. #include <stdio.h>
  2. void main()
  3. {
  4. long fac(int n);
  5. long y;
  6. y=fac(5);
  7. printf("5!=%ld\n",y);
  8. }
  9.  
  10. long fac(int n)
  11. {
  12. long f=1;
  13. int i;
  14. if(n<0)
  15. printf("n<0,data error!");
  16. else if(n==0,n==1)
  17. f=1;
  18. else
  19. for(i=1;i<=5;i++)
  20. {
  21. f=i*f;
  22. }
  23. return(f);
  24. }

22 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. float f(float score[],int n);
  5. float score_1[5],score_2[10],aver_1,aver_2;
  6. int i;
  7. printf("score_1:\n");
  8. for(i=0; i<5; i++)
  9. scanf("%f",&score_1[i]);
  10. printf("score_2:\n");
  11. for(i=0; i<10; i++)
  12. scanf("%f",&score_2[i]);
  13. aver_1=f(score_1,5);
  14. aver_2=f(score_2,10);
  15. printf("aver_1=%f,aver_2=%f\n",aver_1,aver_2);
  16. }
  17. float f(float score[],int n)
  18. {
  19. int i;
  20. float aver,sum=0;
  21. for(i=0; i<n; i++)
  22. sum=sum+score[i];
  23. aver=sum/n;
  24. return(aver);
  25. }

23  将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。

代码:

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[6],b[6],i;
  5. printf("请输入一个数组:");
  6. for(i=0; i<6; i++)
  7. scanf("%d",&a[i]);
  8. printf("逆序排列后的数组是:");
  9. for(i=0; i<6; i++)
  10. {
  11. b[i]=a[5-i];
  12. printf("%4d ",b[i]);
  13. }
  14. }

24  用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数

  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5. void convert(int n);
  6. int number;
  7. printf("input an integer: ");
  8. scanf("%d",&number);
  9. printf("output: ");
  10. //若是一个负数
  11. if (number<0)
  12. {
  13. putchar('-');
  14. putchar(' '); /* 先输出一个‘-’号和空格 */
  15. number=-number;
  16. }
  17. convert(number);
  18. printf("\n");
  19. }
  20. void convert(int n)
  21. {
  22. int i;
  23. if ((i=n/10)!=0)
  24. convert(i);
  25. putchar(n%10+'0');
  26. putchar(32);// putchar(32) 差不多是 putchar(' '); 的意思,输出一个空格
  27. }

25 用指针实现输入3个整数并按从小到大的顺序输出

  1. #include "stdio.h"
  2. void main()
  3. {
  4. void exchange(int * p1,int * p2,int * p3);
  5. int n1,n2,n3;
  6. int * p1,* p2,* p3;
  7. printf("input three integer n1,n2,n3:");
  8. scanf("%d,%d,%d",&n1,&n2,&n3);
  9. p1=&n1;
  10. p2=&n2;
  11. p3=&n3;
  12. exchange(p1,p2,p3);
  13. printf("Now,the order is:%d,%d,%d",n1,n2,n3);
  14. }
  15. void exchange(int * p1,int * p2,int * p3)
  16. {
  17. void swap(int * p1,int * p2);
  18. if(* p1>* p2)
  19. swap( p1, p2);
  20. if(* p1>* p3)
  21. swap(p1,p3);
  22. if(* p2>* p3)
  23. swap(p2,p3);
  24. }
  25. void swap(int * p1,int * p2)
  26. {
  27. int p;
  28. p=* p1;
  29. * p1=* p2;
  30. * p2=p;
  31. }

26  用指针实现输入3个整数并按从大到小的顺序输出

  1. #include <stdio.h>
  2. void main ( )
  3. {
  4. void paixu(int * p1,int * p2);
  5. int a,b,c,* p1,* p2,* p3;
  6. printf("please enter a,b,c:");
  7. scanf("%d,%d,%d",&a,&b,&c);
  8. p1=&a;
  9. p2=&b;
  10. p3=&c;
  11. if(a<b)
  12. paixu(p1,p2);
  13. if(a<c)
  14. paixu(p1,p3);
  15. if(b<c)
  16. paixu(p2,p3) ;
  17. printf("%5d%5d%5d\n",a,b,c);
  18. }
  19. void paixu(int * p1,int * p2)
  20. {
  21. int t;
  22. t=* p1;
  23. * p1=* p2;
  24. * p2=t;
  25. }

27  用指针实现将数组b[10]中的元素按逆序存放

  1. #include <stdio.h>
  2. void main()
  3. {
  4. void sort (int *p,int m);
  5. int i;
  6. int *p,num[10];
  7. printf("please input these numbers:\n");
  8. for (i=0; i<10; i++)
  9. {
  10. scanf("%d",&num[i]);
  11. }
  12. p=&num[0];
  13. sort(p,10);
  14. printf("Now,the sequence is:\n");
  15. for (i=0; i<10; i++)
  16. {
  17. printf("%d ",num[i]);
  18. }
  19. printf("\n");
  20. }
  21. void sort (int *p,int m)
  22. {
  23. int i;
  24. int temp, *p1,*p2;
  25. for (i=0; i<m/2; i++)
  26. {
  27. p1=p+i;
  28. p2=p+(m-1-i);
  29. temp=*p1;
  30. *p1=*p2;
  31. *p2=temp;
  32. }
  33. }

28  用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)

  1. #include "stdio.h"
  2. void main()
  3. {
  4. void swap(int * p1,int * p2);
  5. int a[10],* p ,i,j;
  6. printf("input 10 number:\n");
  7. for(i=0; i<10; i++)
  8. scanf("%d",&a[i]);
  9. p=a;
  10. for(i=0; i<10; i++)
  11. for(j=i; j<9; j++)
  12. if(a[i]<a[j+1])
  13. swap(p+i,p+j+1);
  14. for(i=0; i<10; i++)
  15. printf("%5d ",a[i]);
  16. printf("\n");
  17.  
  18. }
  19. void swap(int * p1,int * p2)
  20. {
  21. int t;
  22. t=* p1;
  23. * p1=* p2;
  24. * p2=t;
  25. }

29 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. void swap(int * p1,int * p2);
  5. int a[10],* p ,i,j;
  6. printf("input 10 number:\n");
  7. for(i=0; i<10; i++)
  8. scanf("%d",&a[i]);
  9. p=a;
  10. for(i=0; i<10; i++)
  11. for(j=0; j<9-i; j++)
  12. if(a[j]>a[j+1])
  13. swap(p+j,p+j+1);
  14. for(i=0; i<10; i++)
  15. printf("%5d ",a[i]);
  16. printf("\n");
  17. }
  18. void swap(int * p1,int * p2)
  19. {
  20. int t;
  21. t=* p1;
  22. * p1=* p2;
  23. * p2=t;
  24. }

30  定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。

  1. #include <stdio.h>
  2. struct
  3. {
  4. int year;
  5. int month;
  6. int day;
  7. } date;
  8. void main()
  9. {
  10. int days;
  11. printf("input year,month,day:");
  12. scanf("%d,%d,%d",&date. year,&date.month,&date.day);
  13. switch(date.month)
  14. {
  15. case 1:
  16. days=date.day;
  17. break;
  18. case 2:
  19. days=date.day+31;
  20. break;
  21. case 3:
  22. days=date.day+59;
  23. break;
  24. case 4:
  25. days=date.day+90;
  26. break;
  27. case 5:
  28. days=date.day+120;
  29. break;
  30. case 6:
  31. days=date.day+151;
  32. break;
  33. case 7:
  34. days=date.day+181;
  35. break;
  36. case 8:
  37. days=date.day+212;
  38. break;
  39. case 9:
  40. days=date.day+243;
  41. break;
  42. case 10:
  43. days=date.day+273;
  44. break;
  45. case 11:
  46. days=date.day+304;
  47. break;
  48. case 12:
  49. days=date.day+334;
  50. break;
  51. }
  52. //判断是否是闰年
  53. if ((date.year %4== 0 && date.year % 100 != 0
  54. ||date.year % 400 == 0) && date.month >=3) days+=1;
  55. printf("%d/%d is the %dth day in %d.\n",date.month,date.day,days,date.year);
  56. }

31. 设计候选人得票统计程序,要求有4个侯选人(分别是Zhang 、Wang 、Li、 Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。

  1. #include <string.h>
  2. #include <stdio.h>
  3. struct person
  4. {
  5. char name[20];
  6. int count;
  7. } leader[4]= {"zhang",0,"wang",0,"li",0,"zhao",0};
  8. void main()
  9. {
  10. int i,j;
  11. char leader_name[20];
  12. for (i=1; i<=10; i++)
  13. {
  14. scanf("%s",leader_name);
  15. for(j=0; j<4; j++)
  16. if(strcmp(leader_name,leader[j].name)==0)//strcmp字符串比较函数
  17. leader[j].count++;
  18. }
  19. printf("\nResoult:\n");
  20. for(i=0; i<4; i++)
  21. printf("%5s:%d\n",leader[i].name,leader[i].count);
  22. }

32  定义一个包括学号、姓名、年龄的学生结构体,要求实现三个学生信息的输入输出,并输出平均年龄

  1. #include <stdio.h>
  2. #define N 3
  3. struct student
  4. {
  5. char num[6];
  6. char name[20];
  7. int age;
  8. } stu[N];
  9. void main()
  10. {
  11. int i,aver=0;
  12. for(i=0; i<N; i++)
  13. {
  14. printf("input scores of student %d:\n",i+1);
  15. printf("NO.:");
  16. scanf("%s",stu[i].num);
  17. printf("name:");
  18. scanf("%s",stu[i].name);
  19. printf("age :");
  20. scanf("%d",&stu[i].age);
  21. }
  22. printf(" NO. name age\n");
  23. for (i=0; i<N; i++)
  24. {
  25. printf("%5s%10s%9d",stu[i].num,stu[i].name,stu[i].age);
  26. printf("\n");
  27. }
  28. //输出平均成绩
  29. for(i=0; i<N; i++)
  30. aver=aver+stu[i].age;
  31. aver=aver/3;
  32. printf("aver=%d",aver);
  33. }

33 定义一个包括教师编号、姓名、工资的教师结构体,要求实现三个教师信息的输入输出,并输出平均工资。

  1. #include <stdio.h>
  2. #define N 3
  3. struct teacher
  4. {
  5. char num[6];
  6. char name[20];
  7. float pay;
  8. } tea[N];
  9. void main()
  10. {
  11. int i;
  12. float aver=0;
  13. for(i=0; i<N; i++)
  14. {
  15. printf("input scores of student %d:\n",i+1);
  16. printf("NO.:");
  17. scanf("%s",tea[i].num);
  18. printf("name:");
  19. scanf("%s",tea[i].name);
  20. printf("pay :");
  21. scanf("%f",&tea[i].pay);
  22. }
  23. printf(" NO. name pay\n");
  24. for (i=0; i<N; i++)
  25. {
  26. printf("%5s%10s%9.2f",tea[i].num,tea[i].name,tea[i].pay);
  27. printf("\n");
  28. }
  29. for(i=0; i<N; i++)
  30. aver=aver+tea[i].pay;
  31. aver=aver/N;
  32. printf("aver=%f",aver);
  33. }

34  定义一个包括职员号、姓名、工资的职员结构体,要求实现三个职员信息的输入输出,并输出平均工资

  1. #include <stdio.h>
  2. #define N 3
  3. struct worker
  4. {
  5. char num[6];
  6. char name[20];
  7. float pay;
  8. } work[N];
  9. void main()
  10. {
  11. int i;
  12. float aver=0;
  13. for(i=0; i<N; i++)
  14. {
  15. printf("input scores of worker %d:\n",i+1);
  16. printf("NO.:");
  17. scanf("%s",work[i].num);
  18. printf("name:");
  19. scanf("%s",work[i].name);
  20. printf("pay :");
  21. scanf("%f",&work[i].pay);
  22. }
  23. printf(" NO. name pay\n");
  24. for (i=0; i<N; i++)
  25. {
  26. printf("%5s%10s%9.2f",work[i].num,work[i].name,work[i].pay);
  27. printf("\n");
  28. }
  29. for(i=0; i<N; i++)
  30. aver=aver+work[i].pay;
  31. aver=aver/N;
  32. printf("aver=%f",aver);
  33. }

35 建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void main()
  4. {
  5. void check(int *); //函数声明
  6. int *p1,i;
  7. p1=(int *)malloc(5*sizeof(int));// 动态数组
  8. for(i=0; i<5; i++)
  9. scanf("%d",p1+i);
  10. check(p1);
  11. free(p1);
  12. }
  13.  
  14. void check(int *p)
  15. {
  16. int i;
  17. printf("They are fail:");
  18. for(i=0; i<5; i++)
  19. if (p[i]<60)
  20. printf("%d ",p[i]);
  21. printf("\n");
  22. }

36 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度(要求用指针实现)。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int length(char *p);
  5. int len;
  6. char str[20];
  7. printf("input string: ");
  8. scanf("%s",str);
  9. len=length(str);
  10. printf("The length of string is %d.\n",len);
  11. }
  12. int length(char *p)
  13. {
  14. int n;
  15. n=0;
  16. while (*p!='\0')
  17. {
  18. n++;
  19. p++;
  20. }
  21. return(n);
  22. }

37 有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. void fail(float score[],int n);
  5. float score[10];
  6. int i;
  7. for(i=0; i<10; i++)
  8. scanf("%f",&score[i]);
  9. averfail(score,10);
  10. }
  11. void averfail(float score[],int n)
  12. {
  13. int i;
  14. float averscore=0;
  15. for(i=0; i<n; i++)
  16. {
  17. averscore = averscore+score[i];
  18. if(score[i]<60)
  19. printf("成绩为%f,序号为%d\n",score[i],i+1);
  20. }
  21. averscore=averscore/n;
  22. printf("平均成绩:%f",averscore);
  23. }

38. 有一个一维数组内放10个数,设计函数,求出10个数中的最大值、最小值、平均值。

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[10],i,max,min,sum=0;
  5. float average;
  6. printf("input 10 number:\n");
  7. for(i=0; i<10; i++)
  8. scanf("%d",&a[i]);
  9. //求最大值,平均值
  10. max=a[0];
  11. for(i=0; i<10; i++)
  12. {
  13. sum=sum+a[i];
  14. if(a[i]>max)
  15. max=a[i];
  16. }
  17. average=sum/10.0;
  18. //求最小值
  19. min=a[0];
  20. for(i=0; i<10; i++)
  21. {
  22. if(a[i]<min)
  23. min=a[i];
  24. }
  25. printf("max=%d,average=%f,min=%d",max,average,min);
  26. }

39. 【有问题】找出一个2维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。

  1. #include "stdio.h"
  2. int main()
  3. {
  4. int a[4][5];
  5. int i,j,k,m;
  6. for(i=0; i<4; i++)
  7. {
  8. for(j=0; j<5; j++)
  9. {
  10. scanf("%d",&a[i][j]);
  11. }
  12. }
  13.  
  14. for(i=0; i<4; i++)
  15. {
  16. for(j=0; j<5; j++)
  17. {
  18. //列比大小
  19. for(m=0; m<4; m++)
  20. {
  21. if(a[i][j]<a[m][j])
  22. {
  23. //行比大小
  24. for(k=0; k<5; k++)
  25. {
  26. if(a[i][j]>a[i][k])
  27. continue;
  28. }
  29. }
  30. }
  31. }
  32. }
  33. printf("i=%d,j=%d",i,j);
  34. return 0;
  35. }

40. 输入8个学生4门课的成绩,分别用函数实现如下功能:

(1) 计算每个学生平均分;

(2) 计算每门课的平均分;

(3) 找出32个分数中最高分所对应的学生和课程。

  1. #include <stdio.h>
  2. #define N 8
  3. #define M 4
  4. float score[N][M];
  5. float a_stu[N],a_cour[M];
  6. int r,c;
  7. void main()
  8. {
  9. int i,j;
  10. float h;
  11. float highest();
  12. void input_stu(void);
  13. void aver_stu(void);
  14. void aver_cour(void);
  15. //输入成绩
  16. input_stu();
  17. //计算学生的平均成绩
  18. aver_stu();
  19. //计算课程的平均成绩
  20. aver_cour();
  21. //输出学生的平均成绩
  22. printf("\n NO. cour1 cour2 cour3 cour4 aver\n");
  23. for(i=0; i<N; i++)
  24. {
  25. printf("\n NO %2d ",i+1);
  26. for(j=0; j<M; j++)
  27. printf("%8.2f",score[i][j]);
  28. printf("%8.2f\n",a_stu[i]);
  29. }
  30. //输出课程的平均成绩
  31. printf("\naverage:");
  32. for (j=0; j<M; j++)
  33. printf("%8.2f",a_cour[j]);
  34. printf("\n");
  35. //输出最好成绩的学生和课程
  36. h=highest();
  37. printf("highest:%7.2f NO. %2d course %2d\n",h,r,c);
  38. }
  39.  
  40. void input_stu(void)
  41. {
  42. int i,j;
  43. for (i=0; i<N; i++)
  44. {
  45. printf("\ninput score of student%2d:\n",i+1);
  46. for (j=0; j<M; j++)
  47. scanf("%f",&score[i][j]);
  48. }
  49. }
  50. void aver_stu(void)
  51. {
  52. int i,j;
  53. float s;
  54. for (i=0; i<N; i++)
  55. {
  56. for (j=0,s=0; j<M; j++)
  57. s+=score[i][j];
  58. a_stu[i]=s/5.0;
  59. }
  60. }
  61. void aver_cour(void)
  62. {
  63. int i,j;
  64. float s;
  65. for (j=0; j<M; j++)
  66. {
  67. s=0;
  68. for (i=0; i<N; i++)
  69. s+=score[i][j];
  70. a_cour[j]=s/(float)N;
  71. }
  72. }
  73. float highest()
  74. {
  75. float high;
  76. int i,j;
  77. high=score[0][0];
  78. for (i=0; i<N; i++)
  79. for (j=0; j<M; j++)
  80. if (score[i][j]>high)
  81. {
  82. high=score[i][j];
  83. r=i+1;
  84. c=j+1;
  85. }
  86. return(high);
  87. }

41  用一个函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数

  1. #include <stdio.h>
  2. #include <string.h>
  3. void main()
  4. {
  5. int alphabetic(char);
  6. int longest(char []);
  7. int i;
  8. char line[100];
  9. printf("input one line:\n");
  10. gets(line);
  11. printf("The longest word is :");
  12. for (i=longest(line); alphabetic(line[i]); i++)
  13. printf("%c",line[i]);
  14. printf("\n");
  15. }
  16. int alphabetic(char c)
  17. {
  18. if ((c>='a' && c<='z')||(c>='A'&&c<='z'))
  19. return(1);
  20. else
  21. return(0);
  22. }
  23. int longest(char string[])
  24. {
  25. int len=0,i,length=0,flag=1,place=0,point;
  26. for (i=0; i<=strlen(string); i++)
  27. if (alphabetic(string[i]))
  28. if (flag)
  29. {
  30. point=i;
  31. flag=0;
  32. }
  33. else
  34. len++;
  35. else
  36. {
  37. flag=1;
  38. if (len>=length)
  39. {
  40. length=len;
  41. place=point;
  42. len=0;
  43. }
  44. }
  45. return(place);
  46. }

42.输出金字塔图案(要求用循环实现

  1. #include <stdio.h>
  2. void main()
  3. {
  4. /* i 0~2*i 0~2-i
  5. * 上半部分 0 *1个 0~2*0 空6/2=3 0~2-0
  6. *** 1 *3个 0~2*1 空4/2=2 0~2-1
  7. ***** 2 *5个 0~2*2 空2/2=1 0~2-2
  8. ******* 3 *7个 0~2*3 空0 0~2-3
  9. ***** 下半部分 0 *5个 0~4-2*0 空2/2=1 0~0
  10. *** 1 *3个 0~4-2*1 空4/2=2 0~1
  11. * 2 *1个 0~4-2*2 空6/2=3 0~2
  12. 0~4-2*i 0~i
  13. */
  14. int i,j,k;
  15. //上半部分
  16. for (i=0; i<=3; i++)
  17. {
  18. for (j=0; j<=2-i; j++)
  19. printf(" ");
  20. for (k=0; k<=2*i; k++)
  21. printf("*");
  22. printf("\n");
  23. }
  24. //下半部分
  25. for (i=0; i<=2; i++)
  26. {
  27. for (j=0; j<=i; j++)
  28. printf(" ");
  29. for (k=0; k<=4-2*i; k++)
  30. printf("*");
  31. printf("\n");
  32. }
  33. }

43 要有一个已排好序的数组,求输入一个数后,按原来排序的规律将她插入数组中

  1. #include "stdio.h"
  2. void main()
  3. {
  4. int a[10];
  5. int b[11];
  6. int i,m,j;
  7. printf("请输入一个数组:\n");
  8. for(i=0; i<10; i++)
  9. scanf("%d",&a[i]);
  10. printf("请输入一个任意的整数:");
  11. scanf("%d",&m);
  12. //找到插入位置
  13. for(i=0; i<10; i++)
  14. if(m<a[i])
  15. break;
  16. for(j=0; j<11; j++)
  17. {
  18. //将插入位置前的复制到b中
  19. if(i>j)
  20. b[j]=a[j];
  21. //将插入位置后的复制到b中
  22. else if(i<j)
  23. b[j]=a[j-1];
  24. //将插入位置复制到b中
  25. else b[j]=m;
  26. }
  27. printf("该数组的重新排序为:");
  28. for(j=0; j<11; j++)
  29. printf("%d ",b[j]);
  30. }

44  写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息

  1. #include "stdio.h"
  2. #include "math.h"
  3. void main()
  4. {
  5. int prime(int n);
  6. int m;
  7. printf("please input a integer:\n");
  8. scanf("%d",&m);
  9. if(prime(m))
  10. printf("%d is a prime",m);
  11. else
  12. printf("%d is not a prime",m);
  13.  
  14. }
  15. int prime(int i)
  16. {
  17. int flag=1,n;
  18. for(n=2; n<=sqrt(i); n++)
  19. {
  20. if(i%n==0)
  21. flag=0;
  22. }
  23. return(flag);
  24. }

45 有一篇文章,共有4行文章,每行有60个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int i,j,upp,low,dig,spa,oth;
  5. char text[4][60];
  6. upp=low=dig=spa=oth=0;
  7. for (i=0; i<4; i++)
  8. {
  9. printf("please input line %d:\n",i+1);
  10. gets(text[i]);
  11. for (j=0; j<60 && text[i][j]!='\0'; j++)
  12. {
  13. if (text[i][j]>='A'&& text[i][j]<='Z')
  14. upp++;
  15. else if (text[i][j]>='a' && text[i][j]<='z')
  16. low++;
  17. else if (text[i][j]>='0' && text[i][j]<='9')
  18. dig++;
  19. else if (text[i][j]==' ')
  20. spa++;
  21. else
  22. oth++;
  23. }
  24. }
  25. printf("\nupper case: %d\n",upp);
  26. printf("lower case: %d\n",low);
  27. printf("digit : %d\n",dig);
  28. printf("space : %d\n",spa);
  29. printf("other : %d\n",oth);
  30. }

46. 有一行电文,已按下面规律译成密码:

A→Z    a→z

B→Y    b→y

C→X    c→x/

即第1个字母变成第26个字母,第i个字母变成第(26 – i + 1)个字母。非字母符号不变。要求编程序将密码译回原文,并输出密码和原文。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int j,n;
  5. char ch[80],tran[80];
  6. printf("input cipher code:");
  7. gets(ch);
  8. printf("\ncipher code :%s",ch);
  9. j=0;
  10. while (ch[j]!='\0')
  11. {
  12. if ((ch[j]>='A') && (ch[j]<='Z'))
  13. tran[j]=155-ch[j]; //
  14. else if ((ch[j]>='a') && (ch[j]<='z'))
  15. tran[j]=219-ch[j]; //
  16. else
  17. tran[j]=ch[j];
  18. j++;
  19. }
  20. n=j;
  21. printf("\noriginal text:");
  22. for (j=0; j<n; j++)
  23. putchar(tran[j]);
  24. printf("\n");
  25. }

47 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位(要求用指针知识实现)。【见2015年笔试题

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int i,k,m,n,num[50],*p;
  5. printf("input number of person: n=");
  6. scanf("%d",&n);
  7. p=num;
  8. for (i=0; i<n; i++)
  9. *(p+i)=i+1;
  10. i=0;
  11. k=0;
  12. m=0;
  13. while (m<n-1)
  14. {
  15. if (*(p+i)!=0) k++;
  16. if (k==3)
  17. {
  18. *(p+i)=0;
  19. k=0;
  20. m++;
  21. }
  22. i++;
  23. if (i==n) i=0;
  24. }
  25. while(*p==0) p++;
  26. printf("The last one is NO.%d\n",*p);
  27. }

48 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)(用结构体)。

  1. #include <stdio.h>
  2. #define N 10
  3. struct student
  4. {
  5. char num[6];
  6. char name[8];
  7. float score[3];
  8. float avr;
  9. } stu[N];
  10. void main()
  11. {
  12. int i,j,maxi;
  13. float sum,max,average;
  14. for (i=0; i<N; i++)
  15. {
  16. printf("input scores of student %d:\n",i+1);
  17. printf("NO.:");
  18. scanf("%s",stu[i].num);
  19. printf("name:");
  20. scanf("%s",stu[i].name);
  21. for (j=0; j<3; j++)
  22. {
  23. printf("score %d:",j+1);
  24. scanf("%f",&stu[i].score[j]);
  25. }
  26. }
  27. average=0;
  28. max=0;
  29. maxi=0;
  30. for (i=0; i<N; i++)
  31. {
  32. sum=0;
  33. for (j=0; j<3; j++)
  34. sum+=stu[i].score[j];
  35. stu[i].avr=sum/3.0;
  36. average+=stu[i].avr;
  37. if (sum>max)
  38. {
  39. max=sum;
  40. maxi=i;
  41. }
  42. }
  43. average/=N;
  44. printf(" NO. name score1 score2 score3 average\n");
  45. for (i=0; i<N; i++)
  46. {
  47. printf("%5s%10s",stu[i].num,stu[i].name);
  48. for (j=0; j<3; j++)
  49. printf("%9.2f",stu[i].score[j]);
  50. printf(" %8.2f\n",stu[i].avr);
  51. }
  52. printf("average=%5.2f\n",average);
  53. printf("The highest score is : student %s,%s\n",stu[maxi].num,stu[maxi].name);
  54. printf("his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.\n", stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);
  55. }

49  写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出

  1. #include "stdio.h"
  2. void main()
  3. {
  4. void copy(char s[3],char m[2]);
  5. char str[80],c[80];
  6. printf("input str:\n" );
  7. gets(str);
  8. copy(str, c);
  9. printf("the vovel letters are:%s\n",c);
  10. }
  11. void copy(char s[3],char m[2])
  12. {
  13. int i,j;
  14. for(i=0,j=0; s[i]!='\0'; i++)
  15. if(s[i]=='a'||s[i]=='A'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U'||s[i]=='i'||s[i]=='I'||s[i]=='e'||s[i]=='E')
  16. {
  17. m[j]=s[i];
  18. j++;
  19. }
  20. m[j]='\0';
  21. }

50 编一程序,输入月份号,输出该月的英文月名。例如,输入3,则输出March,要求用指针数组处理。

  1. #include <stdio.h>
  2. void main()
  3. {
  4. char * month_name[13]= {"illegal month","January","February","March","April",
  5. "May","June","july","August","September","October", "November","December"
  6. };
  7. int n;
  8. printf("input month:\n");
  9. scanf("%d",&n);
  10. if ((n<=12) && (n>=1))
  11. printf("It is %s.\n",*(month_name+n));
  12. else
  13. printf("It is wrong.\n");
  14. }

C 2010年笔试题的更多相关文章

  1. 【转】PHP笔试题2010年

    From : http://www.51projob.com/a/PHP/20120905/602.html 下午,还有一场比较大的面试等着我[虽然接到pps的录用电话,可是心里还是想去verycd试 ...

  2. 收藏所用C#技术类面试、笔试题汇总

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  3. Python 的笔试题

    其实大多数说学习Python 是纯兴趣,真的我不信,许多人已经工作了,没有那么多时间搞自己的纯兴趣了,都会为了生活奋斗,可以说转行来学python 就是未来加薪,当然,小编现在也快要准备工作了,所以也 ...

  4. 深度解析Objective-C笔试题

    2011-08-11 17:39 佚名 互联网 字号:T | T 本文介绍的是Objective-C笔试题,先来问一个,为什么很多内置类如UITableViewController的delegate属 ...

  5. PHP爱考的那些笔试题

    PHP爱考的那些笔试题 来自<PHP程序员面试笔试宝典>,涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. 一.单例模式是在应用程序中最多只能拥有 ...

  6. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  7. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  8. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  9. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

随机推荐

  1. Python几个简单实用的模块

    今天整理了下,工作中常用的一些高阶函数,后面持续更新...... 一.collections 二.itertools 三.functools

  2. 二进制原码、反码、补码以及Java中的<< 和 >> 和 >>> 详细分析

    1.计算机二进制系统中最小单位bit 在计算机二进制系统中: bit (位) :数据存储的最小单元. 简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中,每 8bit = ...

  3. JDK 1.8 新特性之Date-Time API

    来源:请点击查看 1.8之前的日期类: 线程不安全:java.util.Date 这个类线程不安全,而且所有日期类都是可变的. 时间处理麻烦:默认的开始日期从1900年,不支持国际化,不提供时区支持, ...

  4. Ubuntu 18.04安装搜狗输入法

    Ubuntu 18.04安装搜狗输入法 打开 terminal,输入 fcitx,检查是否安装搜狗输入法依赖,若提示未安装使用以下命令安装 sudo apt-get install fcitx-bin ...

  5. FC及BFC

    1.什么是FC 2.BFC块级格式化上下文(Block formatting context) Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的.元素的类 ...

  6. 前端javascript知识(二)

    documen.write和 innerHTML的区别 document.write只能重绘整个页面 innerHTML可以重绘页面的一部分 浏览器检测通过什么? (1) navigator.user ...

  7. vue项目开发,用webpack配置解决跨域问题

    今天在本地开发时候碰到了跨域的问题,突然觉着跨域问题在所难免啊,之前没有没有碰到总觉着解决跨域很高大上的样纸,其实就是受限于网络的同源策略,跨域前后端都可以进行处理. 1,后端更改header hea ...

  8. AlphaGo、人工智能、深度学习解读以及应用

    经过比拼,AlphaGo最终还是胜出,创造了人机大战历史上的一个新的里程碑.几乎所有的人都在谈论这件事情,这使得把“人工智能”.“深度学习”的热潮推向了新的一个高潮.AlphaGo就像科幻电影里具有人 ...

  9. vue用template还是JSX?

    各自特点 template 模板语法(HTML的扩展) 数据绑定使用Mustache语法(双大括号) <span>{{title}}<span> JSX JavaScript的 ...

  10. 树莓派3b+ 交叉编译 及升级 kernel

    安装 gcc pkg 等工具sudo apt-get install build-essential git 官方介绍 https://www.raspberrypi.org/documentatio ...