• 第十六周项目3-有相同数字?


    输入两个数组中要存放的元素个数及元素值(不超过50个),判断这两个数组中是否有相同的数字。

    当两组数中有相同数字时,输出YES,否则,输出NO

    /*
    * Copyright (c) 2014,烟台大学计算机学院
    * All right reserved.
    * 作者:邵帅
    * 文件:demo.cpp
    * 完成时间:2014年12月10日
    * 版本号:v1.0
    */
    #include<iostream>
     using namespace std;
     bool existthesame(int *a,int n1,int *b,int n2);
    int main()
     {
         int a[50];
         int b[50];
         int i, n1, n2;
         cin>>n1;
         for (i=0;i<n1;i++)
            cin>>a[i];
         cin>>n2;
         for (i=0;i<n2;i++)
            cin>>b[i];
         bool flag=existthesame(a,n1,b,n2);
         if(flag==true)
             cout<<"YES
    ";
         else
             cout<<"NO
    ";
         return 0;
     }
     bool existthesame(int *a,int n1,int *b,int n2)
     {
         int i,j;
         for (i=0;i<n1;i++)
            for (j=0;j<n2;j++)
            {
              if (*(a+i)==*(b+i))
                return true;
              else
                continue;
            }
    
     }
    

    运行结果:



    输出两个有序数列(不超过50个)中有多少相同数据,并输出这些数据。


    第一行输入这两组数的个数(不超过50个)。
    后面两行分别输入这两组数。同一序列中的数字不会重复。
    第一行输出相同数字的个数,第二行输出这些相同的数字。
    若没有相同的数字,输出NULL。

    <pre name="code" class="cpp">/*
    * Copyright (c) 2014,烟台大学计算机学院
    * All right reserved.
    * 作者:邵帅
    * 文件:demo.cpp
    * 完成时间:2014年12月10日
    * 版本号:v1.0
    */
    #include<iostream>
    using namespace std;
    int sameNum(int *a,int n1,int *b,int n2, int *c);
    int main()
    {
        int a[50];
        int b[50];
        int c[50];
        int i, n1, n2,n3;
        cin>>n1;
        cin>>n2;
        for (i=0; i<n1; i++)
            cin>>a[i];
        for (i=0; i<n2; i++)
            cin>>b[i];
        n3 = sameNum(a,n1,b,n2,c);
        if(n3==0)
            cout<<"NULL
    ";
        else
        {
            cout<<n3<<endl;
            for(i=0; i<n3; i++)
                cout<<c[i]<<" ";
            cout<<endl;
        }
        return 0;
    }
    int sameNum(int *a,int n1,int *b,int n2, int *c)
    {
        int i,j,n=0;
        for (i=0; i<n1; i++)
            for (j=0; j<n2; j++)
            {
                if (*(a+i)==*(b+j))
                {
                    *(c+n)=*(a+i);
                    n++;
                    continue;
                }
                else
                    continue;
            }
        return n;
    }
    

    运行结果:

    
    
    <img src="http://img.blog.csdn.net/20141210170642421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWF5dWtvMjAxMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    @ Mayuko

  • 相关阅读:
    addEventListener和attachEvent的区别
    CSS鼠标手势
    css颜色代码大全
    js中showModalDialog的使用
    ajax详解
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    js中Ajax工作原理(转)
    浏览器版本信息判断整理
    常见浏览器User-Agent大全
    JS性能优化之怎么加载JS文件
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567594.html
Copyright © 2020-2023  润新知