编写一个C语言程序:将一个数组中的值按逆序重新存放

如题所述

#include<stdio.h>

int main()

{int n,i,j,t,a[200];

 printf("数组中数的个数:");

 scanf("%d",&n);

 printf("数组中的数:\n");

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

 {

a[i]=i+1;

printf("%d ",a[i]);

 }

 for(i=0,j=n-1;i<j;i++,j--)

 {t=a[i];a[i]=a[j];a[j]=t;}

 printf("\n逆序后的数组:\n");

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

printf("%d ",a[i]);

 printf("\n");

 getch();

 return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-29

#include<stdio.h>
int
main()
{int
n,i,j,t,a[200];
 printf("数组中数的个数:");
 scanf("%d",&n);
 printf("数组中的数:\n");
 for(i=0;i<n;i++)
 {
a[i]=i+1;
printf("%d
",a[i]);
 }
 for(i=0,j=n-1;i<j;i++,j--)
 {t=a[i];a[i]=a[j];a[j]=t;}
 printf("\n逆序后的数组:\n");
 for(i=0;i<n;i++)
printf("%d
",a[i]);
 printf("\n");
 getch();
 return
0;
}

第2个回答  推荐于2017-09-28
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int N[--n],i,temp;
for (i = 0;i <= n;scanf("%d",&N[i++]));
for (i = n / 2;i >= 0;temp = N[i],N[i] = N[n - i],N[n - i] = temp,i--);
for (i = 0;i <= n;printf("%d ",N[i++]));
return 0;
}本回答被提问者采纳
第3个回答  2010-06-24
#include <iostream.h>
void main()
{
int a[9]={5,3,6,1,2,7,4,9,8};
int i,j,temp;
for(i=0;i<9;i++)
{
for(j=0;j<9-i-1;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<9;i++)
{
cout<<" "<<a[i];
}
}
第4个回答  2010-06-24
#include <iostream>
using namespace std;

void sort(int arr[]){
int arr2[10];
for(int i=0;i<10;i++) arr2[i]=arr[9-i];
for(int i=0;i<10;i++) arr[i]=arr2[i];
}

int main(){
int a[10]={0,1,2,3,4,5,6,7,8,9};
for(int i=0;i<10;i++) cout<<a[i]<<endl;
sort(a);cout<<endl;
for(int i=0;i<10;i++) cout<<a[i]<<endl;

return 0;
}