作者:@小萌新
专栏:@C语言复习
作者简介: 大二学生 希望能和大家一起进步!
本篇博客简介:回顾之前的分支循环以及一些题目博客
这里面很多知识好像也没有什么好讲解的
大部分都是我们常用的知识 不管是写项目还是刷题的时候都一直在用
可能唯一需要讲解的就是一个switch case语句了吧
int main()
{
int day = 0;
cin >> day;
switch (day)
{
case 1:
cout << "周内";
case 2:
cout << "周内";
case 3:
cout << "周内";
case 4:
cout << "周内";
case 5:
cout << "周内";
case 6:
cout << "周末";
case 7:
cout << "周末";
default:
cout << "出bug啦!!";
break;
}
return 0;
}
由于不常用所以它的一些特性也差不多快忘光了
比如说上面这样子 就是因为没有加break出现的bug
getchar是获取一个字符
putchar是输出一个字符
而eof是文件结束的标志 实际上它的值就是-1 我们可以使用ctrl+z来模拟它的实现
下面我们开始设计一个程序 如果它是一个小写字符就把他转化成大写字符并且输出
如果他是一个大写字符我们就把它转化成小写字符并且输出
int main()
{
char ch;
while ((ch = getchar())!=EOF)
{
if (ch >= 'a' && ch <= 'z')
{
ch -= 32;
putchar(ch);
}
else if (ch >= 'A' && ch <= 'Z')
{
ch += 32;
putchar(ch);
}
else
{
cout << endl;
}
}
return 0;
}
代码并不难 这里主要主义的就是EOF的使用当我们要多次输入的时候我们可以使用EOF来解决这个问题
两个题目都不难 当时老师出这俩题目应该是考验我们对于字符串的比较(strcmp)是否熟练
一个是输入密码三次 如果三次都输错就锁定 如果对了就打印成功进入
int main()
{
char passward[] = "abcdef";
char arr[20] = "";
int i = 0;
for ( i = 0; i < 3; i++)
{
cin >> arr;
if (strcmp(arr,passward)== 0)
{
cout << "密码输入正确" << endl;
break;
}
else
{
cout << "密码输入错误" << endl;
}
}
if (i == 3)
{
cout << "连续输入错误三次 账号已锁定" << endl;
}
return 0;
}
说不上有什么难度 想想看很神奇 两个月自己的代码水平就进步了这么多
还有一个题目大同小异 在规定时间内输入密码 否则电脑就会关机
int main()
{
char input[20] = "";
cout << "注意!你的电脑将在一分钟内关机 请输入 123 以取消关机 " << endl;
system("shutdown -s -t 60");
again:
cin >> input;
if (strcmp(input, "123") == 0)
{
system("shutdown -a");
}
else
{
cout << "输入错误请重新输入!" << endl ;
goto again;
}
return 0;
}
这段代码也没有什么难点 有需要注意的地方就是我们使用的system命令 还有一个goto的用法
还有几道求阶乘的题目实在是太简单了我就懒得写了
还有一道比较有意思的题目是这样子的
int main()
{
char arr1[12] = "hello world";
char arr2[12] = "###########";
int left = 0;
int right = 10;
cout << arr2 << endl;
Sleep(1000);
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left++;
right--;
cout << arr2;
Sleep(1000);
system("cls");
}
cout << arr2;
return 0;
}
代码表示如下
这道题目重做一遍还是比较有意义的
从这里我学会了sleep这个函数其实是包含在windows这个头文件下面的
以及使用system的cls命令
对于初步接触C语言时候的题目 现在做起来已经可以得心应手了
希望自己能够变得越来越强 在两个月后做现在学的题目也可以得心应手起来