當前位置:成語大全網 - 新華字典 - 輸入壹個2~10之間的正整數n,使用字典序法計算並且按照升序輸出A~Z中的前n個字母的全排列。C++編譯器崩潰

輸入壹個2~10之間的正整數n,使用字典序法計算並且按照升序輸出A~Z中的前n個字母的全排列。C++編譯器崩潰

問題是妳的數組myints只有兩個元素,是靜態數組

可以改用動態數組, 代碼如下

#include <iostream>

#include <algorithm>

using namespace std;

int main () {

int n=2;

// int myints[]={65,66}; // 此句註釋掉

cin>>n;

int * myints=new int[n]; // 此句增加

for(int i=0;i<n;i++)

{

myints[i]=65+i;

}

cout << "升序全排列是\n";

sort (myints,myints+n);//排序,升序

do {

for(int i=0;i<n;i++)

{cout <<char( myints[i] );

if(i==n-1)

{cout<<"\n";}

}

}

while ( next_permutation (myints,myints+n) );

delete []myints; // 釋放內存

return 0;

}