C语言指针的问题~急等!!

1.用指针实现冒泡排序~2.用指针转将数组左右反转~如~1256783421转为21347856123.接收2个数组的值~将数组中的值依次相加保存在第3个数组中~如请输入... 1.用指针实现冒泡排序~
2.用指针转将数组左右反转~如~12 56 78 34 21 转为21 34 78 56 12
3.接收2个数组的值~将数组中的值依次相加保存在第3个数组中~如
请输入num1的值:12 56 78 90 45
请输入num2的值:98 34 23 10 30
数组num1和数组num2的和为:110 90 101 100 75
请高手帮我作为解答~本人会视完整度给予加分~!
展开
 我来答
aoqijia
2007-05-24 · TA获得超过587个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:0
展开全部
第一个:
#include<iostream.h>
void main()
{
int n,*p,temp;
cout<<"请输入元素个数:";
cin>>n;
cout<<endl;
p=new int[n];
cout<<"请输入"<<n<<"个元素数:";
for(int i=0;i<n;i++)
{
cin>>*(p+i);
}
cout<<endl;
for(i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(*(p+i)>*(p+j))
{
temp=*(p+i);//交换
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
cout<<"排列后为:"<<endl;
for( i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
}
}

第二个:

#include <stdio.h>
#define N 5
void PrintReverse(int *a)
{
if(*a!=0)
{
PrintReverse(a+1);
printf("%-3d",*a);
}
}
int main()
{
int i,a[N+1]={0};
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("原始数组为:\n");
for(i=0;i<5;i++)
printf("%-3d",a[i]);
printf("\n左右反转顺序:\n");
PrintReverse(a);
}

第三个:

#include "stdio.h"

void main()
{
int num1[5],num2[5],num3[5];//声明3个数组
int i;//声明1个变量
int *p1,*p2,*p3;//声明3个指针
printf("请输入num1的值: ");
for(i=0;i<5;i++)//控制第一个数组的数值
{
scanf(" %d",&num1[i]);
}
printf("\n请输入num2的值: ");
for(i=0;i<5;i++)//控制第二个数组的数值
{
scanf(" %d",&num2[i]);
}
p1=num1;//将数组名赋给指针
p2=num2;
p3=num3;
for(i=0;i<5;i++)//控制输出时的数量
{
*p3=*p1+*p2;//用指针求和运算
*p1++;//自加
*p2++;
*p3++;
}
printf("\n数组num1和数组num2的和为: ");//输出结果
for(i=0;i<5;i++)//控制输出循环的次数
{
printf("%4d",num3[i]);
}
getch();
}
hlm314596367
2007-05-24 · 超过40用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:0
展开全部
1、
#include<stdio.h>
#define n 5
main()
{
int t,i,j,a[n],*p;
for(i=0;i<n;i++)
{
printf("enter the number %d :",i+1);
scanf("%d",&a[i]);
}
printf("\nbefore sorted:\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
for(i=0;i<n-1;i++)
{
p=a;
for(j=0;j<n-i-1;j++)
{
if(*p>*(p+1))
{
t=*p;
*p=*(p+1);
*(p+1)=t;
}
p++;
}
}
p=a;
printf("\nafter sorted:\n");
for(i=0;i<n;i++)
printf("%d\t",*p++);
getch();
}

2、
#include<stdio.h>
#define n 5
main()
{
int i,a[n],*p=a,t;
for(i=0;i<n;i++)
{
printf("enter the number %d :",i+1);
scanf("%d",&a[i]);
}
printf("\nbefore sorted:\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
for(i=0;i<=n/2;i++)
{
t=*(p+i);
*(p+i)=*(p+n-1-i);
*(p+n-i-1)=t;
}
printf("\nafter sorted:\n");
for(i=0;i<n;i++)
printf("%d\t",*p++);
getch();
}

3、
#include<stdio.h>
#define n 5
main()
{
int i,a[n],b[n],c[n],t;
for(i=0;i<n;i++)
{
printf("enter the number a[%d] :",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
printf("enter the number b[%d]",i+1);
scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<n;i++)
printf("%d\t",b[i]);
printf("\n");
for(i=0;i<n;i++)
{
*(c+i)=*(a+i)+*(b+i);
printf("%d\t",*(c+i));
}
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式