下面程序实现如下功能:输入一行字母将字母加密输出("a"变成"c","b"变成"d", 一直到"z"变成"b")
main()
{ int c;
while ( (c=getchar () ) !='\n')
{ if ( (_____________________________) )
c += 2;
else if (c== 'y'||c== 'Y'||c== 'z'||c== 'Z')
_______________________;
___________________;
}
putchar ('\n') ;
}
.初学者,先提问,研究几天实在不懂后在来看答案,回复可能有点慢。回答的时候尽量在后面加上说明,还有不要用太高深的语言,很多函数都没学。顺便解释以下说明下什么是将字母加密输出。谢谢 展开
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
gets(a);
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='a'&&a[i]<'z'||a[i]>='A'&&a[i]<'Z')
{
a[i]=a[i]+1;
}
else if(a[i]=='z'||a[i]=='Z')
{
a[i]+=1;
}
else
a[i]=a[i];
}
puts(a);
return 0;
}
扩展资料
getchar()函数的作用是从计算机终端(一般为键盘)获取一个无符号字符。getchar()函数只能接收一个字符,其函数值就是从输入设备获取到的字符。
getchar由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。
也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。
推荐于2017-11-25
#include <stdio.h>
main()
{ int c;
while ( (c=getchar () ) !='\n')
{ if ( (c<='X'&&c>='A'||c<='x'&&c>='a') )因为最大小写字母是Zz最小大写是Aa,所以这行要这样写
c += 2;
else if (c== 'y'||c== 'Y'||c== 'z'||c== 'Z')
c=c-24;将z变b就要减24才能做到
printf("%c",c);输出字符c
}
putchar ('\n') ;
}
2013-05-08
void main()
{
char a[100];
scanf("%s",&a);
for(int i=0;a[i]!='\0';i++)//循环数组各个元素‘\0’表示数组结束
if(a[i]<='z'&&a[i]>='a')//循环的每一个值与a~z比较
{
a[i]+=2;//如果输入的值在a~z的范围内,则值自增2
if(a[i]>'z')//判断自增后的值是否超出z的范围
a[i]-=26;//超出则减26
}
for(int i=0;a[i]!='\0';i++)//循环输入加密后的字符串
printf("%c",a[i]);
}