zoukankan      html  css  js  c++  java
  • 2013年江西理工大学C语言程序设计竞赛(初级组)

    ACM ICPC WORLD FINAL

    解法:排序大家都知道,去重的话,初学者用数组就好了

    #include<algorithm>
    #include<iostream>
    using namespace std;
    int main()
    {
        int a,b,c[100],i,d[31];
        cin>>a;
        while(a>0)
        {
            cin>>b;
            for(i=0;i<31;i++)
                d[i]=0;
            for(i=0;i<b;i++)
            {
                cin>>c[i];
            }
             for(i=0;i<b;i++)
             {
                 d[c[i]]++;
             }
             for(i=0;i<31;i++)
             {
                 if(d[i]!=0)
                    cout<<i<<" ";
             }
             cout<<endl;
             a--;
        }
    } 

    解法:找规律,前面的n行都是在中间输出*,第n+1行全部输出*,接下来的以中间为对称关系,往两边扩展

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        while(cin>>n&&n)
        {
            for(int i=1;i<=2*n+1;i++)
            {
                for(int j=1;j<=2*n+1;j++)
                {
                    if(j==n+1)
                    {
                        cout<<"*";
                    }
                    else if(i==n+1)
                    {
                        cout<<"*";
                    }
                    else if(i>n+1)
                    {
                        int pos=i-(n+1);
                        //cout<<pos<<endl;
                        if(n+1-pos==j||n+1+pos==j)
                        {
                            cout<<"*";
                        }
                        else
                        {
                            cout<<".";
                        }
                    }
                    else
                    {
                        cout<<".";
                    }
                }
                cout<<endl;
            }
        }
        return 0;
    }

    我们都是江理人

    解法:字符串处理(根据题意)

    #include<stdio.h>
    int main()
    {
        int n,t,i;
        char a[1000];
        scanf("%d",&n);
        getchar();
        while(n--)
        {
            i=0;
                  gets(a);
            for(t=0;a[t]!='';t++)
            {
                if(a[t]=='1') 
                printf("love jiangli
    ");
                if(a[t]=='2')
                printf("love xingong
    ");
            }
        }
        return 0;
    }

    回文素数

    解法:数据不大,当然是先判断是不是回文再判断素数,(这里可以把数字一位一位分解倒着相加看是否相等)

    #include<stdio.h> 
    int main() 
    { 
        int m,n,c,b,k,p,q,r; 
        while(scanf("%d%d",&m,&n)!=EOF) 
        { 
            if(m==0&&n==0) 
                break; 
            r=0; 
            for(k=m; k>=m&&k<=n; k++) 
            { 
                b=0; 
                p=k; 
                while(k>0) 
                { 
                    c=k%10; 
                    b=b*10+c; 
                    k=k/10; 
                } 
                if(b==p) 
                { 
                    for(q=2; q<p; q++) 
                        if(p%q==0) 
                            break; 
                    if(q==p) 
                    { 
                        r=r+1; 
                    } 
                } 
                k=p; 
            } 
            printf("%d
    ",r); 
        } 
    } 
     

     兽兽扔铅球

    解法:数学题,没什么好说的

    #include <stdio.h>
    #include<math.h>
    int main()
    {
        int n;
        float h,a,l;
        while(scanf("%d",&n)!=EOF)
        {
            while(n--)
            {
                scanf("%f%f",&h,&a);
                l=h/tan(a);
                printf("%.3f
    ",l);
            }
        }
        return 0;
    }  

    魔兽争霸

    解法:应该是计算斜率了(y2-y1)*(x3-x1)==(y3-y1)*(x2-x1)

    #include<stdio.h>
    int main()
    {
        double x1,x2,x3,y1,y2,y3;
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            for(int i=0;i<n;i++)
            {
                scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
                if((y2-y1)*(x3-x1)==(y3-y1)*(x2-x1)&&(x2-x1)*(x2-x1)>=(x3-x1)*(x3-x1)&&(y2-y1)*(y2-y1)>=(y3-y1)*(y3-y1))
                printf("yes
    ");
                else printf("no
    ");
            }
        }
        return 0;
    }
    

      

  • 相关阅读:
    调整vmware虚拟机硬盘空间的方法
    微型网络IP转换工具
    初观线程(1)
    Linux逻辑盘卷管理LVM详解(转载)
    微型IP转换工具V1.0升级版
    android 模拟器一键root
    android自用小软件"小毛毛起床啦!“<1>
    很久没更新博客了,写下最近的情况
    解决skype突然无法启动的问题(原创)
    OllyDBG处理C++ EH exception异常
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/6024188.html
Copyright © 2011-2022 走看看