1 输入内容为数字加字母,长度为6到10位,若输入非字母数字内容则输出“密码不符合规范”
2 输入数字9则对应变为X,输入其余数字则对应加一,如输入3则变为4
3 输入xyz对应变为ABC,其中x对应A,y对应B,z对应C
4 输入XYZ同理对应abc
5 输入内容超过10位,输出“密码过长”
6 输入内容少于6位,输出“密码过短”
7 windows系统,最好用devc++应用解决问题
十分感谢,如果不方便解决可以sl有偿解决!
- #include <stdio.h>
- #include <ctype.h>
-
- int main()
- {
- char password[80];
- int i = 0;
- char c;
- while ((c = getchar()) != EOF)
- {
- if (c == '\n')
- break;
- if (!isalpha(c) && !isdigit(c))
- {
- printf("密码不符合规范\n");
- return -1;
- }
- char ch;
- if (c == '9')
- ch = 'X';
- else if (isdigit(c))
- ch = c + 1;
- else if (c >= 'a' && c <= 'z')
- ch = 'A' + (c - 'a' + 3) % 26;
- else if (c >= 'A' && c <= 'Z')
- ch = 'a' + (c - 'A' + 3) % 26;
- password[i++] = ch;
- }
- password[i] = '\0';
- if (i < 6)
- {
- printf("密码过短\n");
- return -2;
- }
- else if (i > 10)
- {
- printf("密码过长\n");
- return -3;
- }
- else
- {
- printf("%s\n", password);
- return 0;
- }
- }