急!!!!C++编程题:输入10个整数,储存到一个一维整型数组中,编一个函数将其由小到大排列
1.输入和排序过程中访问数组的方法都必须用指针法;2.排序函数中的参数为指针参数;3.在main函数中输出数组元素时使用下标法....
1.输入和排序过程中访问数组的方法都必须用指针法;
2.排序函数中的参数为指针参数;
3.在main函数中输出数组元素时使用下标法. 展开
2.排序函数中的参数为指针参数;
3.在main函数中输出数组元素时使用下标法. 展开
3个回答
展开全部
我也写了个,你看行不
#include <stdio.h>
void main()
{
int *p,i,m,xx[10];
printf("请输入10个整数,用空格隔开:");
for(p=xx;p<xx+10;p++)
{
scanf("%d",p);/*这个是输入过程,使用指针变量P*/
}
for(i=0;i<10;i++)
{
/*以下是排序过程过程,同样使用指针变量P*/
for(p=xx;p<xx+10;p++)
{
if(*p>*(p+1))
{
m=*(p+1);
*(p+1)=*p;
*p=m;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",xx[i]);/*这里是输出过程,使用的下标法*/
}
}
呵呵,应该你的要求都有了
#include <stdio.h>
void main()
{
int *p,i,m,xx[10];
printf("请输入10个整数,用空格隔开:");
for(p=xx;p<xx+10;p++)
{
scanf("%d",p);/*这个是输入过程,使用指针变量P*/
}
for(i=0;i<10;i++)
{
/*以下是排序过程过程,同样使用指针变量P*/
for(p=xx;p<xx+10;p++)
{
if(*p>*(p+1))
{
m=*(p+1);
*(p+1)=*p;
*p=m;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",xx[i]);/*这里是输出过程,使用的下标法*/
}
}
呵呵,应该你的要求都有了
展开全部
简单说一下,估计你的问题在于指针
int a[10]={0}; //定义
那么输入的时候,可以用
cin>>a+i;或者cin>>a[i]; //前面就的指针,后面的数组
排序一样用a+i的形式 //等价于a[i]
排序函数可以用void sort(int *p)
调用的时候用sort(a);
下标法就是a[i];
int a[10]={0}; //定义
那么输入的时候,可以用
cin>>a+i;或者cin>>a[i]; //前面就的指针,后面的数组
排序一样用a+i的形式 //等价于a[i]
排序函数可以用void sort(int *p)
调用的时候用sort(a);
下标法就是a[i];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用c给你写了个
#include <stdio.h>
void Sort(int* pA, int nSize);//函数声明
int main(void)
{
int nA[5] = {0};
int* pTemp = nA;
for(int nI = 0; nI < 10; nI++)//输入操作,(pTemp + nI)来遍历数组
{
scanf("%d", (pTemp + nI));
}
Sort(pTemp, 10);//调用函数,传入指针
for(nI = 0; nI < 10; nI++)//打印结果
{
printf("%d\n", *(pTemp + nI));
}
return 0;
}
void Sort(int* pA, int nSize)//排序函数,nSize为数组元素个数
{
int nTemp = 0;
for(int nI = 0; nI < nSize - 1; nI++)//排序,冒泡排法
{
for(int nJ = 0; nJ < nSize - 1 - nI; nJ++)
{
if(pA[nJ] > pA[nJ + 1])//pA[nJ]原理同数组操作nA[nI],指针操作数组的一种方式,也可以用*(pA + nJ)
{
nTemp = pA[nJ];
pA[nJ] = pA[nJ + 1];
pA[nJ + 1] = nTemp;
}
}
}
}
#include <stdio.h>
void Sort(int* pA, int nSize);//函数声明
int main(void)
{
int nA[5] = {0};
int* pTemp = nA;
for(int nI = 0; nI < 10; nI++)//输入操作,(pTemp + nI)来遍历数组
{
scanf("%d", (pTemp + nI));
}
Sort(pTemp, 10);//调用函数,传入指针
for(nI = 0; nI < 10; nI++)//打印结果
{
printf("%d\n", *(pTemp + nI));
}
return 0;
}
void Sort(int* pA, int nSize)//排序函数,nSize为数组元素个数
{
int nTemp = 0;
for(int nI = 0; nI < nSize - 1; nI++)//排序,冒泡排法
{
for(int nJ = 0; nJ < nSize - 1 - nI; nJ++)
{
if(pA[nJ] > pA[nJ + 1])//pA[nJ]原理同数组操作nA[nI],指针操作数组的一种方式,也可以用*(pA + nJ)
{
nTemp = pA[nJ];
pA[nJ] = pA[nJ + 1];
pA[nJ + 1] = nTemp;
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询