64,642
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
#include <string>
#include <time.h>
int main()
{
srand((int)time(NULL));
long int m=1000000000;//最小的十位数
long int n=9999999999;//最大的十位数
long int result;
result=m+rand()%(n-m+1);
char s[256];
sprintf(s,"%ld",result);
string s1=s;
cout<<s1<<endl;
system("pause");
return 0;
}
你试试这个编译通不过?我就是将主要的代码写了一下,你要是直接拿我上面的代码什么都不加去编译肯定通不过啊。。。
char arr[10];
time_t t1;
int num;
srand((unsigned int) time(&t1));
for( int i = 0; i!=10;++i)
{
num = rand()%10;
arr[i] = '0'+num;
}
string s;
for(int i=0;i!=10;++i)
{
s+=arr[i];
}
cout<<s;
参考楼上这么也行#include<stdio.h>
#include<iostream>
#include <strstream>
#include <string>
#include<time.h>
#define random(x)(rand()%x)
using namespace std;
int main()
{
int i,a;
string x,q;
for(i=0;i<10;i++)
{
srand((int)time(0));
a=random(9);
strstream ss;
ss<<a;
ss>>q;
x=x+q;
}
cout<<x;
return 0;
}
这是我自己写的,但每次生成的都是10个相同的数字,比如1111111111
time_t t1;
srand((unsigned int) time (&t1) );
int num = rand();
if(num/100000000)
num = num%1000000000;
else
num += 1000000000;
不知道这么算不算随机int set[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 },
num[5],
Number = 10;
string str = “”;
for (int i = 0; i < 9; i++)
{
Data = rand() % Number;
str[i] = set[Data] + 48;
for (int r = Data; r < Number; r++)
set[r] = set[r + 1];
Number--;
}
str[9] = set[0]
没运行过,不知对错。
long int m=1000000000;//最小的十位数
long int n=9999999999;//最大的十位数
long int result;
result=m+rand()%(n-m+1);
看看行不