设有一数列,包含10个数,已按升序排好。要求把从指定位置m开始的n个数按逆序重新排列并输出新的完整数列 150
3个回答
展开全部
#include <stdio.h>
void A(int *p,int m,int n)
{
for(n=m+n-1;m<n;m++,n--)
*(p+m-1)^=*(p+n-1),*(p+n-1)^=*(p+m-1),*(p+m-1)^=*(p+n-1);
}
int main()
{
int a[10]={2,4,6,8,10,12,14,16,18,20},m,n;
printf("请输入m和n的值:\n");
scanf("%d,%d",&m,&n);
A(a,m,n);
for(m=0;m<10;printf("%d ",a[m++]));
printf("\n");
return 0;
}
void A(int *p,int m,int n)
{
for(n=m+n-1;m<n;m++,n--)
*(p+m-1)^=*(p+n-1),*(p+n-1)^=*(p+m-1),*(p+m-1)^=*(p+n-1);
}
int main()
{
int a[10]={2,4,6,8,10,12,14,16,18,20},m,n;
printf("请输入m和n的值:\n");
scanf("%d,%d",&m,&n);
A(a,m,n);
for(m=0;m<10;printf("%d ",a[m++]));
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-03-28
展开全部
避免洗牌时的意外状况。在第三步为你说明的洗牌过程中,会有如下的状况出现:洗着、洗着一张牌突然翻赤来正面朝上;要不就是把一些牌洗掉到地上;或者在切牌的时候放错堆等等.你应该尽量避免这些意外,因为这些现象都在说明一件事:你的精神可能不够专注.这会对推测的结果造成最严重的影响.
第二步:确认问题与推测方式
一切准备就绪之后,接下来便是确认想要问的问题.千万记住:问题必须在进行下一个步骤--”洗牌”之前确认清楚.一旦开始洗牌,就不可以再更换问题了.
第二步:确认问题与推测方式
一切准备就绪之后,接下来便是确认想要问的问题.千万记住:问题必须在进行下一个步骤--”洗牌”之前确认清楚.一旦开始洗牌,就不可以再更换问题了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询