c语言,求大神解答
编程实现:从键盘输入4位的验证码(大写字母,小写字母或数字),将其全部转换为大写或小写字母的方式进行输出。如输入Eg3A,转换为EG3A或eg3a输出
回复 楼主 清风萨克斯
下面的程序存在的问题是:由于验证码是由数字与字母组合而成,混合存放于字符数组中,输入完成后,可能需要多按一两次回车键程序代码:
// 从键盘输入4位的验证码(大写字母,小写字母或数字),将其全部转换为大写或小写字母的方式进行输出。如输入Eg3A,转换为EG3A或eg3a输出 #include<stdio.h> void main() { int i,y = 1; char yzm[18]; while(y) { printf("请输入四位验证码(字母或数字):"); scanf_s("%s",&yzm,16); for (i = 0;i < 4;i++) { if (yzm[i] < '0' && (yzm[i] > '9' && yzm[i] < 'A') && (yzm[i] > 'Z' && yzm[i] < 'a') && yzm[i] > 'z') { printf("输入了非法字符,请重新输入!"); y = 1; break; } else { y = 0; // 跳出 while 循环 } } } for (i = 0;i < 4;i++) // 转换为小写字母 { if (yzm[i] >= 'A' && yzm[i] <= 'Z') yzm[i] += 32; } /* for (i = 0;i < 4;i++) // 转换为大写字母,此段程序与上一段程序任取一段 { if (yzm[i] >= 'a' && yzm[i] <= 'z') yzm[i] -= 32; }*/ printf("%s",yzm); printf("\n"); }
[此贴子已经被作者于2020-11-2 20:27编辑过]