第四
#include <stdio.h>
int main()
{
int a[10],ma;
int k=1;
for(int i=0;i<10;++i)
scanf("%d",&a[i]);
for(int i=1;i<9;++i)
{
if(a[i]-a[i-1]>0&&a[i+1]-a[i]<0) k++;
if(a[i]-a[i-1]<0&&a[i+1]-a[i]>0) k++;
}
printf("%d\n",k);
for(int i=1;i<9;)
{
if(a[i]-a[i-1]>0&&a[i+1]-a[i]<0)
{
printf("%d %d\n",a[i-1],a[i]);
ma=i;
i++;
continue;
}
if(a[i]-a[i-1]>0&&a[i+1]-a[i]>0)
{
printf("%d %d %d\n",a[i-1],a[i],a[i+1]);
ma=i+1;
i+=2;
continue;
}
if(a[i]-a[i-1]<0&&a[i+1]-a[i]>0)
{
printf("%d %d\n",a[i-1],a[i]);
ma=i;
i++;
continue;
}
if(a[i]-a[i-1]<0&&a[i+1]-a[i]<0)
{
printf("%d %d %d\n",a[i-1],a[i],a[i+1]);
ma=i+1;
i+=2;
continue;
}
}
if(ma<9)
{
for(int i=ma;i<10;++i)
{
if(i!=9) printf("%d ",a[i]);
else printf("%d\n",a[i]);
}
}
return 0;
}
第三,
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,m;
int *a=NULL;
while(scanf("%d",&N)!=1||N<1||N>51||!(N%2)) fflush(stdin);
a=(int *)malloc(sizeof(int)*N);
for(int i=0;i<N;++i)
scanf("%d",&a[i]);
for(int i=0;i<N-1;++i)
{
int k=i;
for(int j=i+1;j<N;++j)
{
if(a[k]>=a[j]) k=j;
}
if(k!=i)
{
a[i]^=a[k];
a[k]^=a[i];
a[i]^=a[k];
}
}
for(int i=0;i<N;i+=2)
printf("%d ",a[i]);
for(int i=N-2;i>0;i-=2)
{
if(i!=1) printf("%d ",a[i]);
else printf("%d\n",a[i]);
}
free(a);
return 0;
}
第三,第四题,其它题帖子里都有人发了答案。我就不发了。