
随机产生3行40列小写字母,然后请用户输入,如果和随机产生的字母一致则输出O错误输出X
知识点:数组,取余,判断,循环,几个库函数,注释详细,适合像我这样的初学者。
#include //经典标准输入输出头文件,不然printf()用不了。
#include //为了使用rand()随机数函数,这个函数取决于srand()函数给它设置的环境。time()当前时间作为参数给srand()
#include //为了使用time()这个函数,能得到当前日历时间
#include //为了用getch()函数来接收一个不回显的按键,本来是getch()的,结果C++说这个函数不安全让我改成_getch()
int main(void)
{
unsigned char listchar[3][40] = { NULL }//无符号字符数组 初始化为null空,一个空所有空
unsigned char getW = NULL//初始化getW无符号变量getW 为null空
srand(time(0))//初始化随机数发生器,time(0)以当前时间作为随机数种子,给srand作为参数,方便使用rand()的时候产生合理的随机数
int i, j = 0
for (i = 0i <3i++) //3行
{
for (j = 0j <40j++) //40列
{
do
{
getW = rand() % 1000//随机产生一个1-3位数的整数给getW
if (getW >= 97 &&getW <= 122) //判断随机数是否在97到122,也是小写字母a~z如果是 就结束do while。
{
break//用于终止do while
}
} while (1)
listchar[i][j] = getW//把随机得到的小写字母赋值给listchar二维数组。
printf("%2c",listchar[i][j])//输出本行的每个列位置的字符%2c的2是占位对齐位置,相当于空格
}
printf(" ")//换两行
}
//unsigned char keyW = ''没用
//keyW = _getch()这个函数好,得到一个字符不回显
i = 0//listchar二维数组的行初始化赋值为0
for(i <3i++)//因为i已经在上面赋值初始化了,所以for里面的第一个表达式可以留空
{
j = 0//listchar二维数组的列初始化为0
do
{
if (_getch() == listchar[i][j])//判断按键的字母是否和二维数组里面的字母一致
{ printf(" O")}//一样的话就输出 O
else
{ printf(" X")}//不一致输出 X
j++//二维数组的列自增1
} while (j <40)//判断二维数组的列是否为最后一个
printf(" ")//二维数组的列结束后,输出一个换行符
}
return 0
}
程序员们总是让人感觉很神秘,经常是面无表情地坐在电脑前噼里啪啦的打出一大段完全看不懂的东西。让我们外行人觉得真的是不明觉厉。那么至于这个提问打字速度,对于编程会不会有影响?下面我来简单说说我的看法。1、打字速度对编程是有影响的
编程本身就是靠手打字的,总不能语音输入,所以相对于来说你的速度,当然要跟上大脑里的思维,比如大脑里面已经想好了,但是你的打字手速跟不上,或者说不会盲打,需要打一下,看一下键盘,那当然是会影响到工作方面的,因为这是一个必然的联系。
2、程序员哥哥会发生这种事情吗?
这个提问的担心完全就是多余的。作为一名资深程序员,已经不是考虑到手打字的问题了。而是考虑到在编程的同时能不能做一些别的事情的问题了。作为一名可以独立写代码的程序员,怎么可能不会盲打,怎么可能打字慢,那手速都要飞起来了,作为一名毫无电脑基础的人,学会盲打也不会超过三天时间。
3、骨灰级程序员
作为一名骨灰级程序员,一心多用是必备能力,一边写代码,一边还能看几眼网络小说,这边代码打的飞快,那边小说一目十行,有空还能和你聊几句天。
等你真正跨入这一行了,这些基础的都不是什么问题。即使是我们平常多多使用QQ和别人聊天,几天下来也是可以把手速练得飞快的。所以作为程序员,只要想着如何把程序写好就行了。手上的速度绝对是跟的上,脑子里的思维的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)