有人可以帮我解决如何以相反的顺序交换数组A [10]和数组B [10]中的值。到目前为止,这是我的代码,如果所需的值是数字,那么我的代码是什么?不是字母?
#include <iostream>
#include <iomanip>
using namespace std;
using std::setw;
void REVERSE(char *);
int A, B;
int main()
{
cout << "word in A: " << endl;
cin >> char A[];
cout << "word in B: " << endl;
cin >> char B[];
REVERSE(A);
REVERSE(B);
return 0;
}
void REVERSE (char *A)
{
int counter = 0;
while(A[counter] != '\0')
counter++;
for(int i=counter-1;i>=0;i--)
cout<<A[i];
cout<<endl;
};
if(A>B)
{
temp = A;
A = B;
B = temp;
}
答案 0 :(得分:1)
std::string stringA(A);
std::string stringB(B);
std::reverse(stringA.begin(), stringA.end());
std::reverse(stringB.begin(), stringB.end());
std :: reverse - Reverse
答案 1 :(得分:1)
/json
//希望这会有所帮助!!如果我已正确理解您的问题,请继续提供帮助。
答案 2 :(得分:1)
您的代码有几个问题。
您将A
和B
声明为整数值。然而,您(可能)尝试将它们作为char[]
(字符数组)读取。除了这一行cin >> char[] A
应该给你一个编译器错误这个事实,这甚至没有成功。您不能将字符值存储在整数内。
如果您尝试读取字符串或字符数组,请将A
和B
声明为一个。
代码末尾的尾随if语句也会让你的编译器抱怨。 C ++不是脚本语言。如果声明不在函数内部,则不会执行语句。
我认为您尝试采用以下计划:
#include <iostream>
#include <algorithm> // include algorithm to use std::reverse
using namespace std;
int main()
{
string A, B; // declare A and B to be a string, there is no need to declare them at global scope
cout << "word in A: ";
cin >> A;
cout << "word in B: ";
cin >> B;
reverse(A.begin(), A.end()); // reverses A
reverse(B.begin(), B.end()); // reverses B
cout << A << " " << B << endl; // prompt A and B
}
如果要读取整数并将其转换为字符串以将其反转,请尝试以下操作:
#include <iostream>
#include <algorithm> // include algorithm to use std::reverse
using namespace std;
int main()
{
int A, B; // declare A and B to be a int
cout << "word in A: ";
cin >> A;
cout << "word in B: ";
cin >> B;
string strA(to_string(A)); // convert A into a string
string strB(to_string(B)); // convert B into a string
reverse(strA.begin(), strA.end()); // reverses string version of A
reverse(strB.begin(), strB.end()); // reverses string version of B
cout << strA << " " << strB << endl; // prompt strA and strB
}
注意:要使用to_string()
,您需要使用c ++ 11标准