2422: C語言習題 n個數逆序
時間限制: 1 Sec
記憶體限制: 128 MB
送出: 150
解決: 96
題目描述
将n(n<20)個數按輸入時順序的逆序排列,用函數實作。
輸入
n 和 n個整數
輸出
逆序輸出,空格分開
樣例輸入
10
1 2 3 4 5 6 7 8 9 0
樣例輸出
0 9 8 7 6 5 4 3 2 1
提示
主函數已給定如下,送出時不需要包含下述主函數
/* C代碼 */
int main()
{
void sort (int *p,int m);
int i,n;
int *p,num[20];
scanf("%d",&n);
for (i=0; i<n; i++)
scanf("%d",&num[i]);
p=&num[0];
sort(p,n);
for (i=0; i<n-1; i++)
printf("%d ",num[i]);
printf("%d\n",num[n-1]);
return 0;
}
/* C++代碼 */
int main()
{
void sort (int *p,int m);
int i,n;
int *p,num[20];
cin>>n;
for (i=0; i<n; i++)
cin>>num[i];
p=&num[0];
sort(p,n);
for (i=0; i<n-1; i++)
cout<<num[i]<<" ";
cout<<num[n-1]<<endl;
return 0;
}
迷失在幽谷中的鳥兒,獨自飛翔在這偌大的天地間,卻不知自己該飛往何方……
#include <stdio.h>
#include <stdlib.h>
void sort (int *p, int m)
{
int i, j, k;
i = m / 2;
for (j = 0; j < i; j++)
{
k = p[j];
p[j] = p[m - j - 1];
p[m - j - 1] = k;
}
}
int main()
{
void sort (int *p, int m);
int i, n;
int *p, num[20];
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &num[i]);
}
p = &num[0];
sort(p, n);
for (i = 0; i < n - 1; i++)
{
printf("%d ", num[i]);
}
printf("%d\n", num[n - 1]);
return 0;
}