最近考试了,第三题现在才做,唉,原想能不能拿个衬衫呢.....:

复制内容到剪贴板
代码:
//dev-c++
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void output(int*,int*,int,int);
int main(void)
{
int nnum,onum;
int i;
int *pnail,*poperate;
scanf("%d%d",&nnum,&onum);
pnail=(int*)malloc(sizeof(int)*nnum);
for(i=0;i<nnum;i++)
scanf("%d",pnail+i);
poperate=(int*)malloc(sizeof(int)*4*onum);
for(i=0;i<onum;i++)
{
scanf("%d",poperate+i*4);
if(0==*(poperate+i*4))
{
scanf("%d",poperate+i*4+1);
scanf("%d",poperate+i*4+2);
*(poperate+i*4+3)=-1;
}
else
{
scanf("%d",poperate+i*4+1);
scanf("%d",poperate+i*4+2);
scanf("%d",poperate+i*4+3);
}
}
output(pnail,poperate,nnum,onum);
free(pnail);
pnail=NULL;
free(poperate);
poperate=NULL;
getch();
return 0;
}
void output(int *n,int *o,int nn,int no)
{
int i,j;
int temp=0;
// for(i=0;i<nn;i++)
// printf("%d\t",*(n+i));
// printf("\n");
//for(i=0;i<no;i++)
// {
// if(*(o+i*4)==0)
// {
// printf("%d\t%d\t%d\t",*(o+i*4),*(o+i*4+1),*(o+i*4+2));
// printf("\n");
// }
// else
// {
// printf("%d\t%d\t%d\t%d\t",*(o+i*4),*(o+i*4+1),*(o+i*4+2),*(o+i*4+3));
// printf("\n");
// }
// }
for(i=0;i<no;i++)
{
if(0==*(o+i*4))
*(n+*(o+i*4+1-1))=*(o+i*4+2);
else
{
for(j=0;j<nn;j++)
if(*(n+j)<=*(o+i*4+3))
{
if((j+1)>*(o+i*4+1)&&(j+1)<*(o+i*4+2)&&*(n+j)>temp)
//printf("%d\n",*(n+j-1));
temp=*(n+j);
}
printf("%d\n",temp);
}
temp=0;
}
}[
本帖最后由 水煮鱼 于 2008-6-7 08:59 编辑 ]