函数:生成随机数
C 库函数 int rand(void) 返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
rand()%100+1;
生成一个0-99的随机数→+1后→变成了rand整体后+1 生成1~100的随机数
函数:添加随机数种子,根据系统时间生成随机数(需要包含时间头文件)
#include<ctime>
srand((unsigned) time(NULL));
函数:制表
#include <iomanip>
setw(制表长度)
setw() 函数只对紧接着的输出产生作用。
当后面紧跟着的输出字段长度小于 n 的时候,在该字段前面用空格补齐,当输出字段长度大于 n 时,全部整体输出。
技巧:获取一个百位数整型变量的个,十,百位数
假设变量为a
a%10 //个位数 需要取模 与其他的不同
a/10%10 //十位数
a/100 //百位数
假如这个整数更大,如四位数五位数
它的某一位遵循这个规律
最低位(个位):
a%10
中间位置(以百位为例)
a/100%10 /100利用整数除法取整原则,用于去除百位以下的数字,%取模用于去除百位以上的数字,保留尾位(原理同最低位)
最高位(以千位为例)
a/1000 去除千位以下的数字,因为千位为最高位,故没有比千位更大的数需要去除,此处可以%10也可以不%10,效果一样
按照以上得出的规则
可以无脑求某一位 即:
a/位数%10
例如:
a/1%10 个位
a/10%10 十位
a/1000%10 千位
技巧:对一系列同类型字符串进行分别命名
string nameSeed=“ABCDE”;
for(int i=0;i<len;i++)
{
teacherArray[i].name = “Teacher_”;
teacherArray[i].name +=nameSeed[i];
}
技巧:避免后续修改代码执行错误
1.即使只有单句语句要执行,也为其赋予外壳{},避免在之后添加内容时忽略了外壳的添加而找不出错误原因
原程序:
for(int i = 1; i <= 10; i++){
for (int j = 1; j <= 10; j++)
cout << "* ";
cout << endl;
}
错误程序:
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++)//内层循环执行到j==5时退出
if (j == 5)
break;//此处错误,for循环只会执行第一个语句,后续语句将在循环外依次执行
cout << "* ";
cout << endl;
}
修改如下:
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
if (j == 5)
break;
cout << "* ";
}
cout << endl;
}
技巧:屏幕展示时,暂停并等待用户信号,避免控制台一闪而过
system("pause");//用于屏幕展示时,暂停并等待用户信号,避免控制台一闪而过
技巧:允许多次输入并设置停止输入的跳出情况
while(true)是一个假死循环,当return0时程序终止循环
int a = 0;
while (true)
{
cin >> a;
if (a == 666)
{
system("pause");//请按任意键继续
return 0;
}
else
cout << "go on" << endl;
}
技巧:终端的清屏
system(“cls”);
技巧:避免报错
1.结构体定义放在函数上面,避免函数调用结构体时找不到结构体
struct Person
{
string name;//姓名
int sex;//性别
int age;//年龄
};
void addPerson(struct Person* person)//此处传入了结构体变量的地址,因此结构体要先有定义
{
函数内容
}