问题:输入任意一个小写英文字符ch,再输入一个正整数n(20>n>0),将小写英文字符加密称第ch+n字符。
如:n=3
‘a'-->'d','b'-->'e',.....'w'-->'z','x'-->'a','y'-->'b','z'-->'c'
分析:
输入一个小写英文字符(ch)和一个整数n
将字符加密((ch+n>'z')?ch=ch+n-26:ch=ch+n;)
输出加密字符
#include <stdio.h>
int main(){
char ch;
int n;
scanf("%d%c",&n,&ch);
ch=ch+n;
(ch>'z')?ch=ch-26:ch=ch;
printf("%c\n",ch);
return 0;}
注意:
ch=ch+n;
(ch>'z')?ch=ch-26:ch=ch;
printf("%c\n",ch);
原因: char ch; 1个字节,127, 'y':121 + 10 溢出--》垃圾值
选择一个合适的类型
(1)unsigned char
(2)
上一页
[1]
[2]