php动态网站开发案例教程实训答案口碑营销的方法
前言:
练习c语言
本来想写高级一点,奈何.,.......
本来想判断不是大写,就让用户重新输入的, 我记得比特老师讲过,要不嗯
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)int main()
{char upper = '\0'; // 初始化为空字符char lower = '\0'; // 初始化为空字符scanf("%c", &lower);if (lower > 'a' && lower < 'z'){//则判断为小写字母,则输出错误,提示重新输入printf("请输入小写字母\n");}else if (lower >= 'A' && lower < 'Z'){//转换为小写字母upper = lower + 32;}elseprintf("输入错误,请重新输入");printf("大写字母为:%c \n", upper);printf("十进制为:%d \n", upper);printf("十六进制为:%x \n", upper);return 0;
}
好了,加了一个判断条件
!judge 不等于0就为真,就继续执行
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)int main()
{char upper = '\0'; // 初始化为空字符char lower = '\0'; // 初始化为空字符int judge = 0;while (!judge){scanf("%c", &lower);if (lower >= 'a' && lower <= 'z'){//则判断为小写字母,则输出错误,提示重新输入printf("请输入小写字母\n");judge = 0; //让条件为为假,就是判断为真,继续执行当前循环}else if (lower >= 'A' && lower <= 'Z'){//转换为小写字母upper = lower + 32;judge = 1; //跳出循环}else{printf("输入错误,请重新输入\n");judge = 0; //让条件为为假,就是判断为真,继续执行当前循环}}printf("大写字母为:%c \n", upper);printf("十进制为:%d \n", upper);printf("十六进制为:%x \n", upper);return 0;
}
出现了这个错误,就是有两个字符,有一个字符,还有一个\n,所以需要清空缓存区
改进
加一个清空缓存区的操作
while (getchar() != '\n');
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
//1.编程从键盘输入一个大写英文字符,将其转换为小写字符显示并显示出它的十进制,十六的 ASCI码。(10分)int main()
{char upper = '\0'; // 初始化为空字符char lower = '\0'; // 初始化为空字符int judge = 0;while (!judge){scanf("%c", &lower);if (lower >= 'a' && lower <= 'z'){//则判断为小写字母,则输出错误,提示重新输入printf("请输入大写字母\n");judge = 0; //让条件为为假,就是判断为真,继续执行当前循环}else if (lower >= 'A' && lower <= 'Z'){//转换为小写字母upper = lower + 32;judge = 1; //跳出循环}else{printf("输入错误,请重新输入\n");judge = 0; //让条件为为假,就是判断为真,继续执行当前循环}// 清空输入缓冲区,防止回车键影响下次输入while (getchar() != '\n');}printf("大写字母为:%c \n", upper);printf("十进制为:%d \n", upper);printf("十六进制为:%x \n", upper); //%x指的是16进制的数字return 0;
}