当前位置:   article > 正文

C语言程序设计100个经典例子_c语言经典程序100例

c语言经典程序100例

 

<1>数字排列。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int sum= 0;
  5. for(int i= 1; i< 5; i++)
  6. {
  7. for(int a= 1; a< 5; a++)
  8. {
  9. for(int b= 1; b< 5; b++)
  10. {
  11. if(i!=a && i!=b && a!=b)
  12. {
  13. printf("%d%d%d", i, a, b);
  14. putchar('\n');
  15. sum= sum+ 1;
  16. }
  17. }
  18. }
  19. }
  20. printf("%d", sum);
  21. return 0;
  22. }

答案有24种。

<2>奖金分配问题。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. long int i;
  5. int bouns1, bouns2, bouns4, bouns6, bouns10, bouns;
  6. scanf("%ld", &i);
  7. bouns1= 100000*0.1;
  8. bouns2= bouns1+100000*0.75;
  9. bouns4= bouns2+200000*0.5;
  10. bouns6= bouns4+200000*0.3;
  11. bouns10= bouns6+400000*0.15;
  12. if(i<= 100000)
  13. {
  14. bouns= i*0.1;
  15. }
  16. else if(i<= 200000)
  17. {
  18. bouns= bouns1+(i-100000)*0.075;
  19. }
  20. else if(i<= 400000)
  21. {
  22. bouns= bouns2+(i-200000)*0.05;
  23. }
  24. else if(i<= 600000)
  25. {
  26. bouns= bouns4+(i-400000)*0.03;
  27. }
  28. else if(i<= 1000000)
  29. {
  30. bouns= bouns6+(i-600000)*0.015;
  31. }
  32. else
  33. {
  34. bouns= bouns10+(i-1000000)*0.01;
  35. }
  36. printf("bouns=%d", bouns);
  37. return 0;
  38. }

<3>已知条件求解整数

  1. #include <stdio.h>
  2. #include <math.h>
  3. int is_pownum(int x)
  4. {
  5. int temp;
  6. temp= sqrt(x);
  7. if(temp* temp== x)
  8. {
  9. return 1;
  10. }
  11. else
  12. {
  13. return 0;
  14. }
  15. }
  16. int main()
  17. {
  18. int num= 1;
  19. for( ; ; num++)
  20. {
  21. if(is_pownum(num+100) && is_pownum(num+169))
  22. {
  23. printf("%d", num);
  24. break;
  25. }
  26. }
  27. return 0;
  28. }

<5>输入整数进行排序。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int x, y, z, temp;
  5. scanf("%d %d %d", &x, &y, &z);
  6. if(x> y)
  7. {temp= y;y= x;x=temp;}
  8. if(x> z)
  9. {temp= z;z= x;x= temp;}
  10. if(y> z)
  11. {temp= z;z= y;y= temp;}
  12. printf("small to big: %d %d %d", x, y, z);
  13. return 0;
  14. }

<8>打印99口诀。

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

<11>经典兔子问题。

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

<12>判断素数

  1. #include <stdio.h>
  2. #include <math.h>
  3. int isprim(int n);
  4. int isprim(int n)
  5. {
  6. int i, j;
  7. j= sqrt(n);
  8. for(i= 2; i<= j; i++)
  9. {
  10. if(n%i==0)
  11. return 0;
  12. }
  13. if(i> j)
  14. {
  15. return 1;
  16. }
  17. }
  18. int main()
  19. {
  20. int x, y= 0;
  21. for(x= 101; x<= 200; x++)
  22. {
  23. if(isprim(x)){
  24. printf("%d ", x);
  25. y++;
  26. }
  27. }
  28. putchar('\n');
  29. printf("101~200间的素数有%d个!", y);
  30. return 0;
  31. }

<14>正整数分解质因数

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i, j;
  5. printf("please input a number: ");
  6. scanf("%d", &i);
  7. putchar('\n');
  8. printf("%d=", i);
  9. for(j= 2; j<= i; j++)
  10. {
  11. while(i!= j)
  12. {
  13. if(i%j== 0)
  14. {
  15. printf("%d*", j);
  16. i=i/j;
  17. }
  18. else
  19. {
  20. break;
  21. }
  22. }
  23. }
  24. printf("%d", i);
  25. return 0;
  26. }

<19>求解“完数”

 

  1. #include <stdio.h>
  2. int wanshu(int n)
  3. {
  4. int sum=0;
  5. int i;
  6. for(i= 1; i<= n; i++)
  7. {
  8. if(n%i==0)
  9. sum+=i;
  10. }
  11. if(sum==(n*2))
  12. {
  13. return 1;
  14. }else{
  15. return 0;
  16. }
  17. }
  18. int main()
  19. {
  20. int i= 1;
  21. for(i= 1; i<= 1000; i++)
  22. {
  23. if(wanshu(i)==1)
  24. {
  25. printf("%-3d", i);
  26. }
  27. }
  28. return 0;
  29. }

<22>乒乓球比赛抽签问题

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i= 0;
  5. char d;
  6. char aa[]={'a','b','c'};
  7. char bb[]={'x','y','z'};
  8. printf("c--y\n");
  9. for(i= 0; ; i++)
  10. {
  11. if(bb[i]!='x' && bb[i]!='y')
  12. {
  13. printf("a--%c\n",bb[i]);
  14. break;
  15. }
  16. d=bb[i];
  17. }
  18. for(i= 0; ; i++)
  19. {
  20. if(bb[i]!='y' && bb[i]!=d)
  21. {
  22. printf("b--%c", bb[i]);
  23. break;
  24. }
  25. }
  26. return 0;
  27. }

<23>.输入一个奇数,用*打印菱形图案

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int n;
  5. scanf("%d", &n);
  6. int i, j;
  7. int x= n/2;
  8. int y= 1;
  9. for(i= 1; i<= n; i++)
  10. {
  11. for(j= 1; j<= x; j++)
  12. {
  13. printf(" ");
  14. }
  15. for(j= 1; j<= y; j++)
  16. {
  17. printf("*");
  18. }
  19. if(x>0 && i<= (n/2+1))
  20. x--;
  21. else
  22. x++;
  23. if(i<= (n/2+1) && y< n)
  24. y+= 2;
  25. else
  26. y-= 2;
  27. putchar('\n');
  28. }
  29. return 0;
  30. }

<25>求1+2!+3!+……+20!的和

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i, j;
  5. double s= 1, sum= 0;
  6. for(i= 1; i<= 20; i++)
  7. {
  8. for(j= i; j>= 1; j--)
  9. {
  10. s= s*j;
  11. }
  12. sum+= s;
  13. s= 1;
  14. }
  15. printf("1+2!+3!+……+20!=%lf", sum);
  16. return 0;
  17. }

<26>利用递归方法求5!

  1. #include <stdio.h>
  2. int jiechen(int x)
  3. {
  4. if(x> 1)
  5. return x*jiechen(x-1);
  6. else
  7. return x;
  8. }
  9. int main()
  10. {
  11. int i= 5;
  12. printf("5!=%d", jiechen(i));
  13. return 0;
  14. }

<28>岁数问题

  1. #include <stdio.h>
  2. int age(int x)
  3. {
  4. int y;
  5. if(x==1)
  6. y= 10;
  7. else
  8. y= age(x-1)+ 2;
  9. return y;
  10. }
  11. int main()
  12. {
  13. printf("%d", age(5));
  14. return 0;
  15. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/527913
推荐阅读
相关标签
  

闽ICP备14008679号