编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1 代替字母A,
数字2 代替字母B,……,26 代替字母Z,如遇空格则打印一个星号‘*’,英文句子以‘.‘结
束。
切记是用C语言,麻烦了,有用加悬赏
这是我已经会的,只是麻烦教我一下怎么有空格加“*”
#include <stdio.h>
int main ()
{
char c;
while ((c = getchar()) != '\n')
{
c-=64;
if (c!=-32)
printf ("%d",c);
}
printf (".");
return 0;
}
其实“ * ”是有了,但空格仍在
麻烦你再改一下,谢谢
我在printf ("%d",c);加了空格,为了区分每一个字母的数字。没有空格,你看数字看不出是那个单词。比如12,到底是A,B两个字母还是一个字母。如果你不需要我这样的效果,你把%d后面的空格去掉就可以了
#include
int main ()
{
char c;
while ((c = getchar()) != '\n')
{
if(c==' ')
{
printf("*");
continue;
}
c-=64;
if (c!=-32)
printf ("%d",c);
}
printf (".");
return 0;
}
你再你试试
另外我给你一个建议,你现在的程序只能处理大写字母,最好是完善它,让它大小写都可以处理
嗯,已经解决了
衷心感谢您的帮助 XD
我只是想问“ * ”号呢……
要不麻烦你再改一下,谢谢
其实我再试了下还是会有这样的问题
不过还是谢谢您的热心帮助 XD
你的输入有问题啊,输入按照题意应该是以 '.‘结束才对啊