请教 C语言 指针数组代码:产生int型的随机数数组,定义一个函数,将此数组中的元素按相反顺序存放。

产生int型的随机数数组,定义一个函数,将此数组中的元素按相反顺序存放。例:原来为:{4,5,9,0,12,7,67,30,24,3}改变后:{3,24,30,67,7,... 产生int型的随机数数组,定义一个函数,将此数组中的元素按相反顺序存放。
例:原来为:{4,5,9,0,12,7,67,30,24,3}
改变后:{3,24,30,67,7,12,0,9,5,4}
要求用指针编写

非常感谢
展开
 我来答
q86456378q
2013-07-06 · 超过34用户采纳过TA的回答
知道答主
回答量:102
采纳率:100%
帮助的人:62.4万
展开全部
#include <stdio.h>
#include<stdlib.h>
void make_rand_number(int *num,int N)
{
 int i = 0;
 for(i = 0;i< N;i++)
 {
   num[i] = rand(); 
 }
}
void swap(int *arr,int n)
{
 int *p,*q;
 int i,tmp;
 p = &arr[0];
 q = &arr[n - 1];
 for(i = 0;i<n/2;i++)
 {
  tmp = *p;
  *p = *q;
  *q = tmp;
  p++;
  q--;
 }
}
void  main(void)
{
 int b[100],n;
 int i;
 while(1)
 {
  printf("请输入产生数的个数(小于100)\n");
  scanf("%d",&n);
  if(n < 100)
  {
   break;
  }
 }
 make_rand_number(b,n);
 printf("交换前顺序\n");
 for(i = 0;i< n;i++)
 {  
  printf("%d,",b[i]);
 }
 swap(b,n);
 printf("\n交换后顺序\n");
 for(i = 0;i< n;i++)
 {  
  printf("%d,",b[i]);
 }
 printf("\n");
}
追问
运算结果不对
追答
怎么不对了
请输入产生数的个数(小于100)
8
交换前顺序
41,18467,6334,26500,19169,15724,11478,29358,
交换后顺序
29358,11478,15724,19169,26500,6334,18467,41,
Press any key to continue
hu0904
2013-07-06 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:459万
展开全部
void fun1(int *a,int n){
int i=0;
for(;i<n;i++)a[i]=rand();
}
void fun2(int *a,int n){
int i=0,m=n/2;
int t;
for(;i<m;i++){
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
}
更多追问追答
追问
本人菜鸟  能来个稍微完整的吗  3Q了
追答
#include 
#include

int main(){
int a[100],i;
fun1(a,100);
for(i=0;i<100;i++)printf("%d ",a[i]);
printf(" \n");

fun2(a,100);
for(i=0;i<100;i++)printf("%d ",a[i]);
printf(" \n");
return 0;
}
//另外百度这代码复制可能会有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
455707843
2013-07-06 · TA获得超过1298个赞
知道小有建树答主
回答量:317
采纳率:50%
帮助的人:129万
展开全部
#include <iostream>

using namespace std;

int array[10] = {4, 5, 8, 0, 12, 7, 67, 30, 24, 3};

int main()
{
    int *p = array, *q = (array + 9);

    for (int i = 0; i < 5; i++)
    {
        swap(*p++, *q--);
    }
    
    for (int j = 0; j < 10; j++)
    {
        cout << array[j] << ' ';
    }
    
    cout << endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式