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编辑过]







