求大神用c语言帮我做一下这道题,定义十进制的数字和字母一个对照关系,'A'对应0,'B'对应1...

发布时间:2021-02-17 09:34:14

求大神用c语言帮我做一下这道题,定义十进制的数字和字母一个对照关系,'A'对应0,'B'对应1...依次类推.26-'A' 27-'B'28-'C' 29-'D' 30-'E' 31-'F'每个十进制的整数用五位二进制数来表示,比如1用00001表示,2用00010表示,依次类推现有一个字符串的游戏,规则如下:如果看到的是数字0,则随机的翻译为一个大写的字母,如果看到的是数字1,则随机的翻译为0~

网友回答

int decode(char *buf)
{int ret = (buf[0] - '0') << 4 | (buf[1] - '0') << 3 | (buf[2] - '0') << 2 | (buf[3] - '0') << 1 | (buf[4] - '0');
return ret;
}int main(int argc,char *argv[])
{printf("请输入字符串\n");
char inputBuf[256] ;

char outputBuf[256] = {0};
scanf("%s",inputBuf);
int i;
for(i=0;i<strlen(inputBuf);i++)
{if(inputBuf[i] >= 'A' && inputBuf[i] <= 'Z')
{inputBuf[i] = '0';
}else if(inputBuf[i] >= '0' && inputBuf[i] <= '9')
{inputBuf[i] = '1';
}}printf("输出:%s\n",inputBuf);
int off = 0;
int num;
for(i=0;off < strlen(inputBuf);i++,off+=5)
{num = decode(inputBuf+off);
outputBuf[i] = num % 26 + 'A';
}outputBuf[i] = '\0';
printf("输出:%s\n",outputBuf);
return 0;
} 求大神用c语言帮我做一下这道题,定义十进制的数字和字母一个对照关系,'A'对应0,'B'对应1...依次类推.26-'A' 27-'B'28-'C' 29-'D' 30-'E' 31-'F'每个十进制的整数用五位二进制数来表示,比如1用00001表示,2用00010表示,依次类推现有一个字符串的游戏,规则如下:如果看到的是数字0,则随机的翻译为一个大写的字母,如果看到的是数字1,则随机的翻译为0~(图1)
以上问题属网友观点,不代表本站立场,仅供参考!