复试编程训练一

超、凢脫俗 2023-07-16 13:00 162阅读 0赞

1.输入a,b,c三个值,输出其中的最大者

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

运行结果:

20200318192802929.PNG

2.求5!

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i,t=1;
  5. for(i=2; i<=5; i++)
  6. t=t*i;
  7. printf("5!=%d",t);
  8. return 0;
  9. }

运行结果:

20200318193133421.PNG

3.求多项式1-1/2+1/3-1/4+…+1/99-1/100的值

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i,sign=1;
  5. double sum=1.0,term;
  6. for(i=2; i<=100; i++)
  7. {
  8. sign=-sign;
  9. term=1.0/i;
  10. sum+=term;
  11. }
  12. printf("%lf\n",sum);
  13. return 0;
  14. }

运行结果:

20200318193732680.PNG

4.求三角形的面积

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. double a,b,c,s,area;
  6. scanf("%lf %lf %lf",&a,&b,&c);
  7. s=(a+b+c)/2;
  8. area=sqrt(s*(s-a)*(s-b)*(s-c));
  9. printf("a=%.2lf\tb=%.2lf\tc=%.2lf\n",a,b,c);
  10. printf("area=%.2lf\n",area);
  11. return 0;
  12. }

运行结果:

20200318194355603.PNG

5.求a*x²+b*x+c=0方程的根。a,b,c由键盘输入,设b²-4*a*c>0

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. double a,b,c,disc,x1,x2,p,q;
  6. scanf("%lf %lf %lf",&a,&b,&c);
  7. disc=b*b-4*a*c;
  8. p=-b/(2.0*a);
  9. q=sqrt(disc)/(2.0*a);
  10. x1=p+q;
  11. x2=p-q;
  12. printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
  13. return 0;
  14. }

运行结果:
20200318195812211.PNG

6.用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到发现某一项的绝对值小于10的六次方为止(该项不累加)

  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5. int sign=1;
  6. double pi=0.0,n=1.0,term=1.0;
  7. while(fabs(term)>=1e-6)
  8. {
  9. pi+=term;
  10. n=n+2;
  11. sign=-sign;
  12. term=sign/n;
  13. }
  14. pi=pi*4;
  15. printf("pi≈%.8lf\n",pi);
  16. return 0;
  17. }

运行结果:

20200318200642709.PNG

7.求Fibinacci数列的前40个数。(一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月又生一对,则假设所有的兔子都不死,问每个月的兔子总数是多少?)

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

运行结果:
20200318201605811.PNG

8.输入一个数,判断是否为素数

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

运行结果:

20200318202452896.PNG

9.求100~200之间的全部素数

  1. #include <stdio.h>
  2. #include <math.h>
  3. int isPrime(int n) //判断是否为素数
  4. {
  5. for(int i=2; i<=sqrt(n); i++)
  6. {
  7. if(n%i==0)
  8. return 0;
  9. }
  10. return 1;
  11. }
  12. int main()
  13. {
  14. for(int i=100; i<=200; i++)
  15. {
  16. if(isPrime(i))
  17. printf("%d\n",i);
  18. }
  19. return 0;
  20. }

运行结果:

20200318203027998.PNG

10.译密码A->E,a->e,即字母都变成其后的4个字母

W->A,X->B,Y->C,Z->D,

非字母保持原状不变

例如:“China”->”Glmre”

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char c;
  5. while((c=getchar())!='\n')
  6. {
  7. if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
  8. {
  9. c=c+4;
  10. if((c>'Z'&&c<'Z'+4)||c>'z')
  11. c=c-26;
  12. }
  13. printf("%c",c);
  14. }
  15. printf("\n");
  16. return 0;
  17. }

运行结果:

20200318203804647.PNG

发表评论

表情:
评论列表 (有 0 条评论,162人围观)

还没有评论,来说两句吧...

相关阅读

    相关 复试编程训练

    41.给一个百分制成绩,要求输出等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为