您的位置:首页 > 其它

变态最大值

2014-04-15 14:24 239 查看
/*
* 程序的版权和版本声明部分:
* 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: