第十六周OJ 项目 Problem C: 相同的数字!

比眉伴天荒 2022-08-06 01:22 190阅读 0赞
  1. /*
  2. *Copyright(c)2014,烟台大学计算机学院
  3. *All rights reserved.
  4. *文件名称:test.cpp
  5. *作者:满星辰
  6. *完成日期:2014年 12月 10日
  7. *版本号:v1.0
  8. *
  9. *问题描述:输出两个有序数列(不超过50个)中有多少相同数据,并输出这些数据。
  10. *程序输入:
  11. *程序输出:
  12. */
  13. #include<iostream>
  14. using namespace std;
  15. int sameNum(int *a,int n1,int *b,int n2, int *c);
  16. int main()
  17. {
  18. int a[50];
  19. int b[50];
  20. int c[50];
  21. int i, n1, n2, n3;
  22. cin>>n1>>n2;
  23. for(i=0; i<n1; ++i)
  24. {
  25. cin>>a[i];
  26. }
  27. for(i=0; i<n2; ++i)
  28. {
  29. cin>>b[i];
  30. }
  31. n3 = sameNum(a,n1,b,n2,c);
  32. if(n3==0)
  33. cout<<"NULL\n";
  34. else
  35. {
  36. cout<<n3<<endl;
  37. for(i=0; i<n3; i++)
  38. cout<<c[i]<<" ";
  39. cout<<endl;
  40. }
  41. return 0;
  42. }
  43. int sameNum(int *a,int n1,int *b,int n2, int *c)
  44. {
  45. int n=0;
  46. int *p,*q;
  47. for(int *p=a; p<(a+n1); ++p)
  48. for(int *q=b; q<(b+n2); ++q)
  49. if(*p==*q)
  50. {
  51. *c=*p;
  52. c++;
  53. n++;
  54. }
  55. return n;
  56. }

运行展示:

Center

学习心得:

对于 “ 同一序列中的数字不会重复 ”这种说法纠结良久。。。最后交OJ 的时候没这么做也没报错,我觉得这大概是手动输入要求???

发表评论

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

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

相关阅读