注册 登录
编程论坛 C++教室

求高手用C编程

Wimong 发布于 2013-05-18 00:39, 640 次点击
1-9代表A-I;字母A-Z代表j直到z,a,直到i
5 回复
#2
Wimong2013-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
qunxingw2013-05-18 08:42
||改&& ,Ascii 也可 用str[i]-'1'+'A'
#4
rjsp2013-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
Wimong2013-05-18 15:02
谢谢rjsp
#6
ffewi2013-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