黑马程序员技术交流社区

标题: 编写一个乘法测试的程序,但输出的结果并不是它给出的... [打印本页]

作者: 胡铭    时间: 2014-4-27 17:09
标题: 编写一个乘法测试的程序,但输出的结果并不是它给出的...
  1. #include<stdio.h>
  2. #include<time.h>
  3. #include<stdlib.h>
  4. int f1(int k1,int k2)
  5. {srand(time(NULL));
  6. k1=1+rand()%9;
  7. k2=1+rand()%9;
  8. printf("%d*%d\n",k1,k2);
  9. return 0;
  10. }
  11. int f2(int k1,int k2)
  12. {srand(time(NULL));
  13. k1=1+rand()%99;
  14. k2=1+rand()%9;
  15. printf("%d*%d\n",k1,k2);
  16. return 0;
  17. }
  18. int f3(int k1,int k2)
  19. {srand(time(NULL));
  20. k1=1+rand()%99;
  21. k2=1+rand()%99;
  22. printf("%d*%d\n",k1,k2);
  23. return 0;
  24. }
  25. void g()
  26. {int k;
  27. srand(time(NULL));
  28. k=1+rand()%3;
  29. if(k==1) printf("Very Good\n");
  30. if(k==2) printf("excellent\n");
  31. if(k==3) printf("keep up\n");
  32. }
  33. void h()
  34. {int k;
  35. srand(time(NULL));
  36. k=1+rand()%3;
  37. if(k==1) printf("no,please try again\n");
  38. if(k==2) printf("no,try once more\n");
  39. if(k==3) printf("no,keep trying\n");
  40. }
  41. void main()
  42. {int k1,k2,n,m;
  43. printf("选择两个个位数乘法输入1,选择一个十位数与一个个位数乘法输入2,选择两个个位数乘法输入3\n");
  44. scanf("%d",&n);
  45. if(n==1)
  46. f1(k1,k2);
  47. if(n==2)
  48. f2(k1,k2);
  49. if(n==3)
  50. f3(k1,k2);
  51. scanf("%d",&m);
  52. if(m==(k1*k2))
  53. g();
  54. if(m!=(k1*k2))
  55. {printf("答案是%d\n",k1*k2);
  56. h();}
  57. }
复制代码




作者: 董月峰    时间: 2014-4-27 19:42
:L求楼主大神写写注释,俺c基础比较差看不太懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2