我必须创建一个看起来像乐透彩票的打印输出的程序。 然而,我似乎无法获得超级"在正确的地方编号。我们必须在1到56之间生成5个随机数,然后在1到44之间再生一个数(兆数)。所以它应该看起来像这样:
由于某种原因,超级数字总是在1到56之间生成的5个随机数之前打印。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include "cs110a2.h"
using namespace std;
void fillup(int x[], int n, int from, int to)
{
for(int i = 0; i < n; i++)
{
x[i] = RAND(from,to);
}
cout <<" ";
cout << RAND(1,44);
}
int bubble_sort(int x[], int n)
{
for(int i = 0; i < n-1; i++)
{
int temp;
for(int j=i+1; j<n ; j++)
{
if(x[i] > x[j])
{
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
return(0); //What! why?
}
void print(int x[], int n)
{
for(int i = 0; i < n; i++)
{
cout << x[i] <<" ";
}
cout << endl;
}
int main(int argc, char **argv)
{
srand(time(NULL));
cout <<" Mega" << endl;
for(int i = 0; i < atoi(argv[1]); i++)
{
int lotto[5];
fillup(lotto,5,1,56);
bubble_sort(lotto,5);
print(lotto,5);
}
return(0);
}
答案 0 :(得分:1)
将最后两行从填充功能移动到打印功能的结尾。 就像现在一样,你在生成数字之后打印大型数据,而不是在打印之后打印。
答案 1 :(得分:-1)
字符串格式使用\ t(制表符)放置它需要的位置。