用户:
Lonely_wanderer查看:30 回复:7 评论:30 创建时间:2020-02-28T11:53:27
大家好!刚进来,先上一段今天的代码……
先说一下规则:规则:心里像一个十位的整数a,然后把a的十位加上a的个位得到s,再用a-s得的x记住相对应的符号,按下回车看看电脑输出的是不是你心里的x!
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main () {
srand((int)time(NULL));
char x = rand()%13+35;
char shuiji;
for (int i=0 ; i<=99 ; i++){
if (i%9 == 0){
if (i<10){
cout << " ";
}
cout << i << x;
}else {
shuiji = rand()%13+34;
if (i<10){
cout << " ";
}
cout << i << shuiji;
}
if ((i+1)%5 == 0 && i>0){
cout << endl;
}else{
cout << " ";
}
}
cout << "规则:心里像一个十位的整数a,然后把a的十位加上a的个位得到s,再用a-s得的x记住相对应的符号" ;
getchar();
cout << "你心里所想的是不是:" << x << endl;
return 0;
}
好了,今天要做的列表是随机的,让人会觉得比较神奇一点
其实,并不是看心术,而是一种简单算法而已
首先,先调用C++的头文件:
#include <iostream>
#include <ctime>
#include <cstdlib>
第一个是基本的输出输入流……第二个就是把时间转换会字符串的头文件,简单点来说,就是设置随机数每次是不同的
第三个是调用产生随机数的头文件
然后,就写个主函数的框架——这里就不写自定义函数了
using namespace std;
int main (){
return 0;
}
先调用srand函数,也就是随机数发生器的初始化函数
然后把ASCLL33~47范围的随机一个数赋值给x(哈哈,没想到吧,x其实是内定的)

然后在声明一个随机的字符串,是用来输出字符表的
srand((int)time(NULL));
char x = rand()%13+35;
char shuiji;
因为我们是0~99的字符表的,所以就写一个0到99的循环代码
for (int i-0 ; i<=99 ; i++){
}

大揭秘啦,其实这个x就是0~99中能被9整除的数字!
所以在循环中判断,如果i能整除9的话,这个地方就是x!
否者的话就是随机的乱七八糟的字符(这个不用管)
if (i%9==0){
}else{
}
然后为了是格式更完美,因为0~9都是1个数字,所以最好加一个空格,否者显得很乱

if (i<10){
//这里面就是小于10的,就需要多输出一个空格
cout << " " ;
}
cout << i << x;
//这里的i就是输出序号,x就不说了
我们再来写万一i还不是x时的代码:
我们需要在否则框里写
shuiji = rand()%13+34;
if (i<10){
cout << " ";
}
cout << i << shuiji;
把33~47的值复制给随机的字符,这里也是判断是是否是0~9的(其实这里和上面的一样,可以直接写一个自定义函数,我会在品论区发)

在循环的最后还需要换行,每5个一行(其他的也行,看个人)
就要再写一个换行的代码:
if ((i+1)%5 == 0 && i>0){
cout << endl;
}else{
cout << " ";
}
问题来了,为什么要写(i+1)呢?因为是有第0项的,所以加一个1,其他的自然往后排啦!
可是如果这样的话那0不就换行了吗?
就要在加一个且了直接排除0换行的可能,否者就接着输出空格

最后,在循环外写一下规则。
还需要一个回车来输出x,
getchar();
这一行代码就是等待直到按下回车……
最后,在输出那个x啦!
cout << "你心里所想的x是不是:" << x << endl;
好啦,终于说完了……
第一次发帖,希望多点赞,(发帖不易啊)
加油!
本期LX说就结束啦
Lonely_wanderer这个是自定义函数的代码:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void panduan (int i){
if (i<10){
cout << " ";
}
}
int main () {
srand((int)time(NULL));
char x = rand()%13+35;
char shuiji;
for (int i=0 ; i<=99 ; i++){
if (i%9 == 0){
panduan (i);
cout << i << x;
}else {
shuiji = rand()%13+34;
panduan (i);
cout << i << shuiji;
}
if ((i+1)%5 == 0 && i>0){
cout << endl;
}else{
cout << " ";
}
}
cout << "规则:心里像一个十位的整数a,然后把a的十位加上a的个位得到s,再用a-s得的x记住相对应的符号" ;
getchar();
cout << "你心里所想的是不是:" << x << endl;
return 0;
}点赞1
评论