c语言编写个程序,高手帮个忙,在线等

将一个数组的值按逆序重新存放,例如,原来的顺序为:8 6 5 4 1要求改为1 4 5 6 8,然后将所得数组最大元素与最小元素对换顺序

第1个回答  2009-03-15
改成手动输入了,输入一个数回车再输第二个数,以输入非数字结束输入

#include<stdio.h>
int main()
{
int a[100],i = 0, j;
printf("input the numbers,end with invalid char:");
while(scanf("%d", &a[i]))
{
i++;
fflush(stdin);
}
int max = a[0],min = a[0];
for(j = 0; j < i; j++)
{
if(a[j] >= max)
{
max = a[j];
}
else if(a[j] < min)
{
min = a[j];

}
}
int *b = new int[i];
int k = i - 1,flag1,flag2;
for(j = 0; j < i; j++)
{
if(a[k] == max)
{

flag1 = j;
}
else if(a[k] == min)
{
flag2 = j;
}
b[j] = a[k];
// printf("%d ",b[j]);
k--;
}
b[flag1] = min;
b[flag2] = max;
for(j = 0; j < i; j++)
printf("%d ", b[j]);
printf("\n");
return 0;
}
第2个回答  2009-03-15
#include<stdio.h>
main()
{int a[5]={8,6,5,4,1};
int n,t;
for(n=0;n<2;n++)
{t=a[n];
a[n]=a[5-n-1];
a[5-n-1]=t;
}
......
}本回答被提问者采纳
第3个回答  2009-03-15
分太少了。。
相似回答