题目描述
将数组a中的n个整数按逆序输出。
#include"stdio.h"
void inv(int *, int); /* 输出反序后的数据 */
void out(int *, int); /* 输出原始数据 */
int main( )
{
int a[100];
int n,i;
scanf("%d",&n);
for( i = 0 ; i < n ; i++ )
{
scanf("%d",&a[i]);
}
printf("Output primary data: ") ; /* 输出原始数据 */
out( a, n);
inv(a, n);
printf("Output the inverse data: "); /* 输出反序后的数据 */
out(a, n);
}
//只提交你编写的函数代码
输入
第一行输入数字n表示要输入多少个数字,第二行输入n个数字。
输出
输出原先的数组顺序,再输出逆序后的数组顺序,每个数字占用4个字符。
样例输入
3
1 2 3
样例输出
Output primary data: 1 2 3
Output the inverse data: 3 2 1
参考代码
#include"stdio.h"
void inv(int *, int);
/* 彿°åå声æ */
void out(int *, int);
/* 彿°åå声æ */
int main( )
{
int a[100];
int n,i;
scanf("%d",&n);
for ( i = 0 ; i < n ; i++ )
{
scanf("%d",&a[i]);
}
printf("Output primary data: ") ;
/* è¾åºåå§æ°æ® */
out( a, n);
inv(a, n);
printf("Output the inverse data: ");
/* è¾åºååºåçæ°æ® */
out(a, n);
}
void inv(int *a, int n)
{
int i,j,t;
i=0;
j=n-1;
while(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}
void out(int *a, int n)
{
int i;
for (i=0;i<n;i++)
printf("%4d",a[i]);
printf("n");
}
解析
暂无