编程论坛
注册
登录
编程论坛
→
C++教室
求高手用C编程
Wimong
发布于 2013-05-18 00:39, 640 次点击
1-9代表A-I;字母A-Z代表j直到z,a,直到i
5 回复
#2
Wimong
2013-05-18 01:56
就是英国间谍007受到一个字条,:“4F0EFK0KILJK08RIP”,已知道
(1)数字1--9代表字母A--I
(2)字母A--Q(就是ABCDEFGHIJKLMNOPQ,以下同理)代表j--z
剩下的 R--Z代表a--i
这个无结果啊??
#include<stdio.h>
#include<conio.h>
void main()
{
char str[30];
char c[30];
int i;
scanf("%s",str);
for(i=1;i<=30;i++)
while(str[i]>=1||str[i]<=9)
{c[i]=str[i]+16;}
while(str[i]>='A'||str[i]<='Q')
{c[i]=str[i]+41;}
while(str[i]>='R'||str[i]<='Z')
{c[i]=str[i]+15;}
while(str[i]==0)
{printf(" ");}
printf("%C",c[i]);
}
#3
qunxingw
2013-05-18 08:42
||改&& ,Ascii 也可 用str[i]-'1'+'A'
#4
rjsp
2013-05-18 09:42
楼主说的东西根本听不懂,二楼说的人话我听懂了,但看其代码,缺“0代表空格”的说明文字
(0)数字0代表空格
(1)数字1--9代表大写字母A--I
(2)字母A--Q代表小写字母j--z;字母R--Z代表小写字母a--i
程序代码:
#include
<stdio.h>
void
foo(
const
char
* str )
{
for
(
const
char
* p=str; *p!=
'
\0
'
; ++p )
{
char
c = *p;
if
( c ==
'
0
'
)
printf(
"
%c
"
,
'
'
);
else
if
( c>=
'
1
'
&& c<=
'
9
'
)
printf(
"
%c
"
, (
char
)(c-
'
1
'
+
'
A
'
) );
else
if
( c>=
'
A
'
&& c<=
'
Z
'
)
printf(
"
%c
"
, (
char
)((c-
'
A
'
+
9
)%
26
+
'
a
'
) );
else
printf(
"
%c
"
,
'
?
'
);
}
}
int
main()
{
foo(
"
4F0EFK0KILJK08RIP
"
);
//
输出 Do not trust Hary
return
0
;
}
#5
Wimong
2013-05-18 15:02
谢谢rjsp
#6
ffewi
2013-05-18 21:23
回复 2楼 Wimong
#include<stdio.h>
#include<string.h>
/*就是英国间谍007受到一个字条,:“4F0EFK0KILJK08RIP”,已知道
(1)数字1--9代表字母A--I
(2)字母A--Q(就是ABCDEFGHIJKLMNOPQ,以下同理)代表j--z
剩下的 R--Z代表a--i*/
void main()
{
char str[30];
char c[30];
int i;
scanf("%s",str);
int len1=strlen(str);
for(i=0;i<=len1;i++)
{
if(str[i]>='1'&&str[i]<='9')
c[i]=str[i]+16;
else if(str[i]>='A'&&str[i]<='Q')
c[i]=str[i]+41;
else if(str[i]>='R'&&str[i]<='Z')
c[i]=str[i]+15;
else if(str[i]==0)
c[i]=' ';
else if(str[i]>='a'&&str[i]<='z')
c[i]=' ';
}
for(i=0;i<=len1;i++)
printf("%c",c[i]);
printf("\n");
}
1