分页: 1 / 1

这个算法怎么解决??大侠帮忙下

发表于 : 2007-09-16 21:42
David50814
将“China"译成密码,密码规律是:将原来的字幕后面的第4个字幕代替原来的字母。例如:将”A“后面的第四个字母”E“代替原字母"A"。
------------郁闷的分割线-----------------------
请编译一程序,使用赋初值的方法是c1,c2,c3,c4,c5五个变量的值分别为'C'.'h'.'i'.'n'.'a',经过运算后,使他们分别为'G'.'l'.'m'.'r'.'e',并输出。
大侠帮忙啊!

发表于 : 2007-09-16 22:08
aitilang
晕!!
直接+4不就好了?
处理一下最后几个字母就行了。

发表于 : 2007-09-16 22:22
David50814
具体咋写啊~~我菜鸟

发表于 : 2007-09-16 22:23
David50814
是不是把他们的ANSI码加4,然后以定义为字符的方式数据啊

发表于 : 2007-09-16 22:42
chattan
建议你先看看书!!

发表于 : 2007-10-13 22:56
李丑男
这种是很简单的程序啊!如果这个都还不清楚的话,那可得好好看一下书了。随便一本C语言的教程都可以。

发表于 : 2007-10-14 0:36
rem1x
ascii操作

发表于 : 2007-10-14 3:16
newhpzzw
int main()
{
char c[5]={'c','h','i','n','a'};
int i;
for (i=0;i<5;i++)
{
c+=4;
printf("%c",c);
}
}
这样行不行??
懒得测试了

发表于 : 2007-10-19 18:30
yuylyp
newhpzzw 写了:int main()
{
char c[5]={'c','h','i','n','a'};
int i;
for (i=0;i<5;i++)
{
c+=4;
printf("%c",c);
}
}
这样行不行??
懒得测试了


兄弟你太懒了吧。。。
你只是把题目给得了例子给做了。。。
#include "stdio.h"
#include "stdlib.h"

int shiftwords( char* inchar , char *out )
{
int i;
for( i = 0 ; inchar != 0 ; i++)
{
if( ( inchar >= 65 && inchar <= 86 ) || ( inchar >= 97 && inchar <= 118 ) )
{
out = inchar + 4;
}
else
{if( ( inchar >86 && inchar[i] <= 90 ) || ( inchar[i] > 118 && inchar[i] <=122 ) )
{
out[i] = inchar[i] - 22;
}
else
{
printf("\nyou put wrong charachters!");

system("pause");
exit(1);

}
}

}

out[i] = 0;

}

int main()
{
int result;
char buf[100],outputwords[100];

printf("Please input your number ,and press Enter Key:\n\n");
scanf("%s",buf);

shiftwords( buf , outputwords );

printf("\nAfter shift,the answer is: %s\n",outputwords);
system("pause");
}