如题所述
#include "stdio.h"
void del(int d[],int i,int n)
{
for(;i<n-1;i++)
{
d[i]=d[i+1];
}
}
int main()
{
int d[]={2,4,0,9,1,3,6,7,8,5};
int max,min;
int i,j;
max=0;
min=0;
for(i=1;i<10;i++)
{
if(d[i]>d[max])
max=i;
if(d[i]<d[min])
min=i;
}
/*
//若不删除最大和最小直接输出其他数可使用下列代码
for(j=0;j<10;j++)
{
if(j!=max && j!=min)
printf("%d ",d[j]);
}
printf("\n");
*/
//将最大最小两数删除,后面的数前移
if(max<min)
{
del(d,max,10);
del(d,min-1,9);
}
else
{
del(d,min,10);
del(d,max-1,9);
}
for(j=0;j<8;j++)
{
printf("%d ",d[j]);
}
printf("\n");
}
void del(int d[],int i,int n)
{
for(;i<n-1;i++)
{
d[i]=d[i+1];
}
}
int main()
{
int d[]={2,4,0,9,1,3,6,7,8,5};
int max,min;
int i,j;
max=0;
min=0;
for(i=1;i<10;i++)
{
if(d[i]>d[max])
max=i;
if(d[i]<d[min])
min=i;
}
/*
//若不删除最大和最小直接输出其他数可使用下列代码
for(j=0;j<10;j++)
{
if(j!=max && j!=min)
printf("%d ",d[j]);
}
printf("\n");
*/
//将最大最小两数删除,后面的数前移
if(max<min)
{
del(d,max,10);
del(d,min-1,9);
}
else
{
del(d,min,10);
del(d,max-1,9);
}
for(j=0;j<8;j++)
{
printf("%d ",d[j]);
}
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-06-22
#include <stdio.h>
#include <stdlib.h>
inline int cmpArray(const void *a, const void *b)
{
return (*(int*)a) >= (*(int*)b) ? 1 :-1;
}
int main()
{
int iArray[12] = {332,544,23,755,887,543,466,334,89,121,44,367};
int i = 0;
printf("排序前:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
/* 按大小升序排序 */
qsort(iArray, sizeof(iArray) /sizeof(int), sizeof(iArray[0]), cmpArray); /* 调用cmpArray函数排序 */
printf("\n\n排序后:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{ /* 删除首尾 */
iArray[i] = iArray[i+1];
if (i >= sizeof(iArray) /sizeof(int) - 2 )
iArray[i] = 0;
}
printf("\n\n删除后:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
return 0;
}
#include <stdlib.h>
inline int cmpArray(const void *a, const void *b)
{
return (*(int*)a) >= (*(int*)b) ? 1 :-1;
}
int main()
{
int iArray[12] = {332,544,23,755,887,543,466,334,89,121,44,367};
int i = 0;
printf("排序前:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
/* 按大小升序排序 */
qsort(iArray, sizeof(iArray) /sizeof(int), sizeof(iArray[0]), cmpArray); /* 调用cmpArray函数排序 */
printf("\n\n排序后:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{ /* 删除首尾 */
iArray[i] = iArray[i+1];
if (i >= sizeof(iArray) /sizeof(int) - 2 )
iArray[i] = 0;
}
printf("\n\n删除后:");
for ( i = 0; i < sizeof(iArray) /sizeof(int); i++)
{
printf("%d ", iArray[i]);
}
return 0;
}
第2个回答 2016-06-22
这个简单,可以私信我