C++ 帮忙找个小错误
来源:百度知道 编辑:UC知道 时间:2024/09/25 23:21:47
// 双色球随机生成器.cpp
#include "stdafx.h"
#include <iostream>
#include "math.h"
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
int i,j,a[34],x;
for (i=1;i<=33;i++)
{
a[i]=0;
}
j=1;
while (j<=6)
{
srand(time(0));
x=rand() % 33+1;
if (a[x]==0)
{
a[x]=1;
j++;
}
}
srand(time(0));
x=rand() % 16+1;
for (i=1;i<=33;i++)
{
if (a[i]==1) printf("%5d",a[i]);
//这里总是输出“1”
//为什么?怎么解决?
//备注:我想输出1-33的随机数
//备注:编译警告 从“time_t”转换到“unsigned int”,可能丢失数据
}
cout<<" "<<x<<endl<<endl;
#include "stdafx.h"
#include <iostream>
#include "math.h"
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
int i,j,a[34],x;
for (i=1;i<=33;i++)
{
a[i]=0;
}
j=1;
while (j<=6)
{
srand(time(0));
x=rand() % 33+1;
if (a[x]==0)
{
a[x]=1;
j++;
}
}
srand(time(0));
x=rand() % 16+1;
for (i=1;i<=33;i++)
{
if (a[i]==1) printf("%5d",a[i]);
//这里总是输出“1”
//为什么?怎么解决?
//备注:我想输出1-33的随机数
//备注:编译警告 从“time_t”转换到“unsigned int”,可能丢失数据
}
cout<<" "<<x<<endl<<endl;
数组a[]本来就只有0和1,再加个判断当然输出1了
可以改成
if (a[i]==1) printf("%5d",i);
没想到,都是爱好者,我的“绝算双色球”用basic写的,不过现在源码已遗失了。
你都说了a[i]=1就输出,那不输出1输什么
if (a[i]==1) printf("%5d",a[i]);
把a[i]改成i