C++产生随机数简单例子
程序员文章站
2024-03-18 17:18:58
...
不多说直接上代码+结果
可以看出rand%100产生 0-99 间的随机数,即rand%n产生 0~n-1 间的随机数。
附代码:
#include <iostream> //cout就不说了
#include <time.h> //time()所在
#include <stdlib.h> //srand与rand所在
#include <iomanip> //setw所在
/*
srand(time(NULL));用来设置rand()产生随机数时的随机数种子。
不然每次运行产生的随机数和上次是一样的
*/
using namespace std;
int main(void)
{
srand(time(NULL));
for(int i=200; i>0; i--)
{
if(i%20==0)
cout << endl;
cout << setw(3) << rand()%100 << " ";
}
cout << endl;
system("pause");
return 0;
}
附录2:
C++输出对齐方式
使用setw(n)设置输出宽度时,默认为右对齐
(有了using namespace std; 之后就不用每次写 std:: 了)
std::cout << std::left << std::setw(5) << “1” << std::endl;
std::cout << std::left << std::setw(5) << “10” << std::endl;
std::cout << std::left << std::setw(5) << “100” << std::endl;
std::cout << std::left << std::setw(5) << “1000” << std::endl;
// 输出结果:
//
// 1
// 10
// 100
// 1000
或者:
可以通过以下语句,调整为左对齐,而且这种调整是全局的,一次设置,后面都有效。
cout.setf(std::ios::left)
但对于输出宽度的设置(使用cout.width(int i)设置)是一次性的,只影响紧随其后的一次输出。
更多左右对齐书写方式:
1.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout<<resetiosflags(ios::right);//此句不可删除(删除后下面的左对齐无效)
cout<<setiosflags(ios::left)<<setw(10)<<123<<endl;
2.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout<<left<<setw(10)<<123<<endl;
3.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout.flags(ios::left);//这样设置也可以
cout<<setw(10)<<123<<endl;
上一篇: 猜数字游戏