请教 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}
要求用指针编写
非常感谢 展开
例:原来为:{4,5,9,0,12,7,67,30,24,3}
改变后:{3,24,30,67,7,12,0,9,5,4}
要求用指针编写
非常感谢 展开
3个回答
展开全部
#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
展开全部
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;
}
}
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;
}
//另外百度这代码复制可能会有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询