写一个洗牌程序,这里坑比较多,我说一下。
第一个便是纸牌的原本顺序,这里题目中有说明,跟新牌一样整整齐齐。
第二个问题是如何接收顺序数组。这个我想了两个方法都没有成功,
一是使用string变量接收,然后通过空格分割转化为int数组。但我忘记了string的相关函数,故舍弃。
二是采用 while(cin>>num[i]) 方法,但是我发现它无法退出循环,或许使用一个计数器然后break可以实现,我当时没有写。
在参考其他博文后,我发现用最简单的for循环就可以达到目的,真是神奇,我也不知道咋回事,可能是我基础太差了吧。
第三个问题是提交后显示格式错误,猜想可能是showString函数中应该加一个判断,加上后就对了。
#include <iostream>
#include <string>
using namespace std;
void showString ( string a[], int n )
{
for ( int i = 0; i < n; i++ )
{
cout << a[i];
if(i<n-1)
cout<<' ';
}
}
void strArrayCopy(string copyBack[],string beingCopied[],int n)
{
for(int i=0;i<n;i++)
{
copyBack[i]=beingCopied[i];
}
}
int main()
{