如何解决问题:
看过很多人的解题思路程序设计模式语言·卷5,但觉得太麻烦了。就个人而言,我认为我的解决问题的思路比较简单。
主要利用getche()没有缓冲区的特性。 gerche() 读取数字时,不会在屏幕上回显,也不会将数据存入缓冲区,而是直接运行下面的程序程序设计模式语言·卷5,导致用户输入数字,会循环一次。
注意事项:
1.虽然你输入了一个数字,但 getche() 读取的是字母。 ‘1’的ASCII码是49,后面需要赋值时,需要-48。
2.由于getche()的回显特性,需要在最终结果之前清屏,即先“空格”再“退格”。
示例代码:
#include//注意!网络编辑器找不到conio.h这个头文件,我在自己的编译器上可以成功! #include #include int main() { int n = 0; //设置n为位数。 int x[6]; //设置x[6]为每个位数的数字。 for (int i = 1; i <= 6;i++) { int a = 0; a = getche(); //输入给a的数字是字符形式,所以后面需要减48。 if (a=='\r') //因为不大于5,需要最后一位\r来判断输入结束。 { printf(" \b\b\b\b\b");//由于getche()的特性,需要将回显清空。 printf("%d\n", n); //回显位数。 break; } n++; x[i] = a-48; } printf("%d %d %d %d %d\n",x[1],x[2],x[3],x[4],x[5]);//回显每个位数的数字。 printf("%d%d%d%d%d\n",x[5],x[4],x[3],x[2],x[1]); //反向回显数字。 system("pause"); return 0; }
© 版权声明
THE END
喜欢就支持一下吧
请登录后发表评论
注册
社交帐号登录