关于C语言数组的一个问题

输入1个正整数n(1<n<=10),再输入n个整数,按逆序输出这些数.
a[i]
我写的,为什么运行不对...
#include <stdio.h>
void main( )
{
int i,k,n;
int a[10];
printf("input n:");
scanf("%d",&n);

for(i=0;i<n;i++)
scanf("%d",&a[i]);

for(i=0;i<n;i++){

a[i]=a[n-i];

for(i=0;i<n;i++)
printf("%d",a[i]);

}
}

第1个回答  2008-04-23
#include <iostream.h>
void SelectSort(int *pArray,int iNum)
{
int p,min,Temp;
for(int i=0;i<iNum;i++)
{
p=i;
min=*(pArray+i);
for(int j=i+1;j<iNum;i++)
{
if(min>*(pArray+j))
{
p=j;
min=*(pArray+j);
}
}
if(p!=i)
{
Temp=*(pArray+i);
*(pArray+i)=*(pArray+j);
*(pArray+j)=Temp;
}
}
for(int k=0;k<iNum;k++)
cout<<*(pArray+k)<<' ';
}

void Free(int *piArray)
{
delete[] piarray;
}

int main()
{
int iCount;
cout<<"please input 1 data: "<<endl;
scanf("%d",&iCount);
int *piArray=new int[iCount];
cout<<"please input "<<iCount<<" data: "<<endl;
for (int i=0;i<iCount;i++)
scanf("%d", piArray+i);
SelectSort(piArray,iCount);
Free(piArray);
return 0;
}

程序没经过调试,自己看一下,不行的话就算了。。。。

哦,你的逆序是这个意思哦‘将
#include"stdio.h"
#include"stdlib.h"
int main()
{
int i,j,k,n,temp;
printf("input n: ");
scanf("%d",&n);
int *pi=(int *)malloc(n*sizeof(int));

for (j=0;j<n;j++)
scanf("%d",pi+j);

for(k=0;k<n;k++)
printf("%d ",*(pi+k));
printf("\n");

for(i=0;i<n/2;i++)
{
temp=*(pi+i);
*(pi+i)=*(pi+n-i-1);
*(pi+n-i-1)=temp;
}
for(k=0;k<n;k++)
printf("%d ",*(pi+k));
return 0;
}
第2个回答  2008-04-22
main()
{
int a[10];
for(int i=9;i>=0;i--)
{
scanf("%d",&a[i]);
}
for(int i=0;i<10;i++)
printf("%d",a[i]);
}本回答被网友采纳
第3个回答  2008-04-22
动态分配比较好吧。
第4个回答  2008-04-22
你都不动手写写,难道一点都不会么?还是懒惰啊?
第5个回答  2008-04-22
冒泡
相似回答