zoukankan      html  css  js  c++  java
  • c实例_挑战程序竞赛,蚂蚁

    #include <stdio.h>
    
    //蚂蚁的题目
    int max(int a,int b)
    {
        int count;
        count=a>b?a:b;
        return count;    
    }
    void solve()
    {
        
        int minT=0;
        int i; 
        for(i=0;i<n;j++)
        {
            minT=max(minT,min(x[j],L-x[j]));    //这里改成i也一样    
        }
        int maxT=0;
            for(i=0;i<n;i++)
        {
            maxT=max(maxT,max(x[i],L-x[i]));        
        }
        printf("%d %d",minT=,maxT);    
        
    }
    
    int main()
    {
            
        int L,n;
        puts("输入长度L");
        scanf("%d",&L);
         puts("输入蚂蚁数n");
        scanf("%d",&n);
        int x[n];
        puts("第一个离左边长度");
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%d",&x[i]);    
        
        }
        solve();    
        
        
        return 0;
    }

     C语言for循环中,如果写成这样

     for(int i=0;i<n;i++)
     {
       scanf("%d",&x[i]); 
     }

    就会报错

    -----------------

     error: 'for' loop initial declaration used outside C99 mode

     最后解决方案:设置全局变量

    #include <stdio.h>
        int L,n;
         int i; 
      int x[100];
    
    //蚂蚁的题目
    int max(int a,int b)
    {
        int count;
        count=a>b?a:b;
        return count;    
    }
    int min(int a,int b)
    {
        int count;
        count=a>b?b:a;
        return count;    
    }
    void solve()
    {    
        int minT=0;   
        for(i=0;i<n;i++)
        {
            minT=max(minT,min(x[i],L-x[i]));        
        }
        int maxT=0;
            for(i=0;i<n;i++)
        {
            maxT=max(maxT,max(x[i],L-x[i]));        
        }
        puts("所有蚂蚁,所有噢,最短掉下去的时间与最长的时间");
        printf("%d %d",minT,maxT);      
    }
    int main()
    {  
        puts("输入长度L");
        scanf("%d",&L);
         puts("输入蚂蚁数n");
        scanf("%d",&n);  
        puts("依次离左边长度");   
        for(i=0;i<n;i++)
        {
            scanf("%d",&x[i]);      
        }
        solve(); 
        return 0;
    }

     帮别人调试程序http://poj.org/problem?id=1852

    #include <stdio.h>
    
    int main()
    { 
    int max(int x,int y);
    int min(int x,int y);
    int length, n, post, mintime, maxtime;
    int i;
    int x[1000];
    int y[1000];
        scanf("%d",&i); 
    int k;
    k=i;  
    while(i--)
    {
     mintime = 0;
           maxtime = 0;
      scanf("%d %d", &length, &n);
    while(n--)
    {
    scanf("%d",&post);
    mintime = max(mintime,min((length-post),post));
    x[i]=mintime;    
        maxtime = max(maxtime,max((length-post),post));
    y[i]=maxtime;
    
    }   
     
      }
     while(k--)
      {
            printf("%d %d
    ",x[k],y[k]);      
      }
        
    return 0;
     }
    
    int max(int x,int y)
    {
    int z;
    x>y?z=x:z=y;
    return(z);
    }
    
    int min(int x,int y)
    {
    int z;
    x>y?z=y:z=x;
    return(z);
    }
  • 相关阅读:
    [Project Euler 603]Substring sums of prime concatenations 题解
    [Project Euler 521]Smallest prime factor 题解
    [Project Euler 520]Simbers 题解
    [Project Euler 517]A real recursion 题解
    省选刷题计划
    [十二省联考2019]春节十二响
    导航
    有用的网址
    [ZJOI2019]线段树
    [十二省联考2019]皮配
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/4064705.html
Copyright © 2011-2022 走看看