c + +反向阵列c + +反向阵列(C++ Reverse Array)

2019-05-12 03:24发布

在C ++中,我需要:

  • 读取来自用户输入的字符串,并将其放置到一个字符数组[完成]
  • 然后该数组传递给函数[完成]
  • 该功能应该扭转的字符的顺序[问题!]
  • 然后,回到main()它显示了原始阵列与新反转字符。

我无法创造实际执行倒车,因为我有一些限制的功能:

  • 我不能有任何本地数组变量。
  • 没有三分球要么

我的功能仅传递原始数组即:

void reverse(char word[])

编辑:这是我的代码库至今:

void reverse(char word[]);

void main() 
{
  char word[MAX_SIZE];

  cout << endl << "Enter a word : ";
  cin >> word; 
  cout << "You entered the word " << word << endl;

  reverse(word); 

  cout << "The word in reverse order is " << word << endl;
}

void reverse(char myword[]) 
{
  int i, temp;
  j--;

  for(i=0;i<(j/2);i++) 
  {
    temp      = myword[i];
    myword[i] = myword[j];
    myword[j] = temp; 

    j--; 
  }
}

Answer 1:

尽管这看上去很homeworky,我建议:

void reverse(char word[])
{
    int len=strlen(word);
    char temp;
    for (int i=0;i<len/2;i++)
    {
            temp=word[i];
            word[i]=word[len-i-1];
            word[len-i-1]=temp;
    }
}

或者更好的,经典的XOR实现:

void reverse(char word[])
{
    int len=strlen(word);
    for (int i=0;i<len/2;i++)
    {
        word[i]^=word[len-i-1];
        word[len-i-1]^=word[i];
        word[i]^=word[len-i-1];
    }
}


Answer 2:

由于这是功课,我会点你朝着一个解决方案,而只是给你答案。

您的reverse功能可以修改word传递进来。有一件事你需要知道的是如何长字(所以你知道有多少字母扭转),可以从得到这个strlen()函数。 如果你不允许使用指针,那么你可以使用本地int指数变量。



Answer 3:

如果我们对C字符串,那么你的功能应该是

void reverse(char word[],size_t wordlen)

从同样的问题第一个答案(这是从欺骗反向在C句子? )

这不你在找什么,但可以让你非常接近!

 int ReverseString(char *rev)
         {
            if(*rev!='\0')
            {
               ReverseString(rev + 1);
               putchar(*rev);//change this.
            }

            return 1;
         }

学分@devinb。



Answer 4:

//这个程序可以帮助你找到最大和最小数的数组

#include<iostream.h>
#include<conio.h>
int main()
{int max;

    int a[5]={12,1,0,4,5};
 int min=a[0];
    int i=1;
    max=a[0];

    while(i<=4)
    {
              if (max < a[i])
              max=a[i];
              if (min > a[i])
              min=a[i];
              i++;

    }
              cout << min <<"\n";
              cout << max;
              getch();
              return 0;
}              


文章来源: C++ Reverse Array