变态最大值

/*  
* 程序的版权和版本声明部分:  
* Copyright (c) 2014,郑州大学SIAS国际学院    
* 作    者:  王  杰
* 完成日期:2014 年 4 月 15 日  
*  
* 对任务及求解方法的描述部分:
* 输入描述: 略或见注释、总结
* 问题描述: 略或见注释、总结
* 程序输出: 略或见注释、总结
* 问题分析: 略或见注释、总结
* 算法设计: 略或见注释、总结
*/
#include<stdio.h>
int max(int q,int w,int e)
{
    int z;
    z=q>w? q:w;
    z=z>e? z:e;
    return z;
}
int min(int q,int w,int e)
{
    int z;
    z=q<w? q:w;
    z=z<e? z:e;
    return z;
}
int main()
{
    int n,a[10000],i,j,count,max_i,min_i,p;
    while(scanf("%d",&n)!=EOF){
        count=1;
        p=j=max_i=min_i=0;    //其实p初值设为0,严格来说是错误的,如第三组测试数据
        for(i=0;i<n;i++)      //可以把p的初值设为-2147483648(codeblocks中int型的最小值)
            scanf("%d",&a[i]);
        for(i=0;i<n/3;i++){
            if(count%2){
                max_i=max(a[j],a[j+1],a[j+2]);
                count++;
                j+=3;
                p=p>max_i? p:max_i;
            }
            else{
                min_i=min(a[j],a[j+1],a[j+2]);
                count++;
                j+=3;
                p=p>min_i? p:min_i;
            }
            //p=max_i>min_i? max_i:min_i;   //放到for外面不对,如第二组测试数据
        }
        printf("%d\n",p);
    }
    return 0;
}


运行结果:


总结:见注释,p的初值设为0可以AC,但不算完美。设为codeblocks中int的最小值,可以处理数据,但是好像不是万全之策, 不过也不失为一种办法---“只关心要处理的数据”










九九乘法表:

#include<stdio.h>
int main()
{
    int n,m,i,j;
    scanf("%d",&n);
    while(n--){
        scanf("%d",&m);
        for(i=1;i<=m;i++){
            for(j=i;j<=9;j++){
                printf("%d*%d=%d ",i,j,i*j);
            }
            printf("\n");
        }
    }
    return 0;
}



477T    A+B(3)

#include<stdio.h>
#include<math.h>
int main()
{
    int t;
    float a,b,c;
    scanf("%d",&t);
    while(t--){
        scanf("%f%f%f",&a,&b,&c);
        if(fabs(a+b-c)<0.00001)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}


458T    小光棍数       最烦这种题了。。。。。。。   

#include<stdio.h>
int main()
{
    long long t,m;
    scanf("%lld",&t);
    while(t--){
        scanf("%lld",&m);
        printf("%lld\n",471+(m-1)*1000);
    }
    return 0;
}


399T     整除个数       开始想着i++循环 计数,后来一想i+=b减少运算,再一想,不用!直接n/b 完事。。。。

#include<stdio.h>
int main()
{
    int n,b;
    while(scanf("%d%d",&n,&b)!=EOF){
        printf("%d\n",n/b);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值