我需要从 K (学生人数)得到结果,但如果 2 ...程序用(如果 K = 2)两个数字填充数组中的所有 30 个位置,其他 28 个是某种 38392839238 .. .some像这样,这是我的代码:
int main()
{
int i,n,k;
unsigned int m[30], a[30], b[30];
int ch=0, nech=0;
cout<<"Number of students (max30)";cin>>k;
for(i=0; i<k; ++i)
{
cout<<i+1<<". Student number: ";
do
{
cin>>m[i];
}
while(!(m[i]>=1e7 && m[i]<1e8));
if(m[i]%2==0)
{
a[ch]=m[i]; ch++;
}
else
{
b[nech]=m[i]; nech++;
}
}
cout<<endl;
cout<<"\nAll numbers: "<<endl;
for(i=0; i<k; ++i)
cout<<m[i]<<"\t";
loop:
cout<<endl;
cout<<"\nChoose 1 to see Even and Odd numbers: ";
cout<<"\nChoose 2 to see ascending order: ";
cout<<"\nChoose 3 to exit: ";
cout<<"\nEnter Your choise: "; cin>>n;
switch(n)
{
case 2:
{
{
int e=sizeof(m) / sizeof(m[0]);
sort(m,m+e);
for(i=0;i<e;++i)
cout<<"\n"<<m[i]<<' ';
}
}
goto loop;
}
}
这个程序想要输入班级学生的人数,然后它想输入他们的班级人数,在案例 2 中,它需要按升序排列。例如:班级学生人数:2 1.学生人数:12345678 2.学生人数:55555555
当你为 case2 打 2 时,它需要按升序排列,所以结果必须是:12345678 55555555(从最小值到最大值)。我的程序成功了,但在其他 28 个地方(我的数组必须最大为 30)它放置了另一个数字 = 3435973836